【问题标题】:Use WPF with .NET Standard Library将 WPF 与 .NET 标准库一起使用
【发布时间】:2025-12-27 20:35:12
【问题描述】:

是否可以在 .NET 标准类库中使用 WPF,或者这是为 .NET Core 保留的?如果是这样,是否可以设置使用 WPF 的 .NET Core 类库,还是必须是 .NET Core 应用程序?

【问题讨论】:

  • 可以,但仅限于 Windows:devblogs.microsoft.com/dotnet/…
  • 但是博客不是在谈论 .NET Core 应用程序而不是普通的类库吗?
  • WPF 不是 .NET Standard 的一部分,因此如果您的类库严格针对 netstandardx.x,请不要使用 WPF。
  • 那么 NET Core 类库呢?这会有效还是仅适用于 NET Core 应用程序?
  • WPF 项目可以引用和使用 .NET Standard 库。完整的 .NET Framework 版本是 .NET Standard 的超集。

标签: wpf .net-core .net-standard


【解决方案1】:

最后,我与微软取得了联系。他们非常有帮助,并为我提供了*.csproj 文件的以下 sn-p:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>

有了这个,我得到了一个包含 WPF 的 .NET Core 类库。此外,我必须删除App.xamlApp.cs。这是必要的,因为它们在 XAML 中包含 &lt;Application&gt; 标记,这些标记在 WPF 库中是不允许的。

【讨论】: