c# - 在 .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
而且它似乎不是正确的。
解决方案
以下是如何做到这一点net5.0
:
<PropertyGroup>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
推荐阅读
- c# - 如何在 Unity 中锁定玩家的轮换?
- dart - Dart Sass 失败并出现此错误:未定义的变量。SASS
- r - group_by 只为 R 中的所有组返回 1 个值
- java - 在 Spring Boot 中动态更改 Tomcat 属性
- go - 解组 json 以使用对象值之一作为键
- heroku - 为什么在 heroku dyno 重新启动后我会丢失数据库的内容?
- python - 比较df中的上一个\下一个值并根据条件进行更正
- sql - 使用动态 SQL 创建过程
- linux - Debian Gnome Versoin 托盘/Appindicator 出现问题
- c# - 在 c# 中使用 span 替换小字符串中出现的最快方法