如何在 .Net Core 中引用 System.Windows 命名空间?

And*_*ens 3 wpf .net-core wpf-core

我是 WPF (.Net Framework) 开发人员很长时间了,我终于第一次涉足 .Net Core。我目前正在尝试将一个小型 v4.7.2 WPF 应用程序转换为 .Net Core 3.1。该解决方案包含一个 WPF 应用程序项目和一个类库项目,每个项目只有少数几个类,因此我决定创建一个包含 WPF 应用程序和类库项目(均为 .Net Core 3.1)的新解决方案会更容易,然后从原始解决方案中复制 cs 和 xaml 文件。然而,我似乎在第一个障碍...

许多类使用类型从System.Windows命名空间(和System.Windows.MediaSystem.Windows.Controls等)。这些在 WPF 应用程序项目中解决得很好,但在类库中解决不了。我注意到 WPF 应用程序项目引用了框架“Microsoft.WindowsDesktop.App.Wpf”,但类库项目没有,我认为这是我的问题。但是,我终生无法弄清楚如何将此框架添加到项目中。我该怎么做?!

我在其他地方看到了添加<UseWPF>true</UseWPF>到类 lib csproj 文件的解决方案,但这没有效果。

And*_*ens 5

像往常一样,我刚发布问题就找到了答案。我还必须将 csproj 文件中的 SDK 更改为:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
Run Code Online (Sandbox Code Playgroud)