我正在尝试在面向netcoreapp3.1的控制台应用程序中使用System.Windows.Media.ImageSource。在此处查看Microsoft 的文档,它似乎可用于 .NET Core 3.0 和 3.1
适用于 NET Core 3.1 3.0
我的示例代码在它的时候会运行得很好,net472但是一旦我改回netcoreapp3.1它就会无法构建。
演示应用
using System;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace ImageSourceTesting
{
internal static class Program
{
private static void Main()
{
ImageSource myImage = new BitmapImage();
Console.Write(myImage);
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试构建时,我看到以下内容:
[CS0234] 命名空间“System.Windows”中不存在类型或命名空间名称“Media”(您是否缺少程序集引用?)
System.Windows.Media.ImageSource 是 WPF 的一部分,所以如果你创建了控制台应用程序,那么你必须使用UseWPF标签在项目中添加 WPF 支持,例如:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)