首页 > 解决方案 > 在 .NET Core 中使用 System.Windows

问题描述

我在 Visual Studio 2019 中有一个项目,我正在从 .NET Framework 4.6 迁移到 .NET Core 3.1。

我使用 Microsoft 的指南来移植我的项目,在此处进行了描述。我运行了Portability Analyzer,它显示该项目是 100% 可移植的。

但是对 System.Windows 的每个依赖都不再起作用了。例如我使用System.Windows.Rect. 在官方文档中明确指出它适用于 .NET Core 3.1。

然而,在代码中,它用“找不到类型或命名空间名称'Rect'(您是否缺少 using 指令或程序集引用?)”标记 Rect,并在顶部using System.Windows用消息“Using 指令是不必要”。

此错误适用于我的代码中的许多内容,例如System.Windows.ResourceDictionary, System.Windows.Application.Current, System.Windows.Point, ...

因此,由于某些原因,我似乎无法使用System.Windows,即使使用本身似乎工作正常。

System.Windows在 NuGet 包管理器中搜索并搜索了它,但找不到任何东西。

所以这是我的问题:如何System.Windows在带有 Visual Studio 2019 的 .NET Core 3.1 项目中使用?我目前的猜测是,我需要手动包含程序集WindowsBase.dll,但在我的安装目录 ( C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional) 中我只能找到一个,C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\LiveShare\Agent而且它似乎不是正确的。

标签: c#.net-corevisual-studio-2019.net-core-3.1

解决方案


以下是如何做到这一点net5.0

 <PropertyGroup>
    <TargetFramework>net5.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

推荐阅读