在 .NET Core 3.1 中使用 ImageSource?

Rob*_* P. 2 c# wpf .net-core

我正在尝试在面向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”(您是否缺少程序集引用?)

Luk*_*lek 9

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)