如何在 VS2019 中将 WPF 项添加到 C# 类库项目中?

Leo*_*oss 7 c# wpf dll .net-core visual-studio-2019

我已经在 Visual Studio 2019 中启动了一个类库项目,现在希望向其中添加 WPF 项目(窗口、用户控件、自定义控件),但“添加项目”对话框未在 WPF 部分下列出任何内容。

我在以前版本的 VS 中遇到过这个问题,并设法通过将<ProjectTypeGuids>元素添加到具有相关 WPF GUID 的 csproj 文件中来解决它。但是,这似乎不适用于新的 VS2019 精简 csproj 文件,或者我不知道在哪里可以找到正确的 GUID(因为我只尝试使用我以前使用过的那些)。

有谁知道 VS2019 的正确流程?

PS 我知道这个问题之前似乎已经回答过(例如No creation of a WPF window in a DLL project),但据我所知,它们都适用于以前版本的 Visual Studio 并且建议不不适合我。

mm8*_*mm8 14

对于.NET Core项目,右键单击类库项目,选择“编辑项目文件”,将以下内容复制到.csproj文件中:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

对于 .NET 5 项目,您需要一些不同的内容:

<Project Sdk="Microsoft.NET.Sdk">

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

</Project>
Run Code Online (Sandbox Code Playgroud)

这应该使您能够使用菜单将 WPF 特定项目添加到项目中。

  • 这很有效,谢谢!顺便说一句,我还注意到我的目标框架是“netstandard2.0”,这让我开始思考。如果我将“net472”放入目标框架元素中,您的修复也会起作用,因为我应该使用 .NET Framework 4.7.2。我进一步调查并意识到我最初使用的是“类库(.NET Standard)”模板而不是“类库(.NET Framework)”。使用 .NET Framework 模板创建类库允许我按照我原来的帖子中提到的方式编辑模板...以防万一对某人有帮助,但很高兴了解新方法! (2认同)
  • 这太棒了!我只添加了 `&lt;UseWPF&gt;true&lt;/UseWPF&gt;` 元素,并且无需重新加载项目即可使用正确的菜单项。 (2认同)