如何在WPF应用程序的.NET Core 3.0中引用System.Windows.Forms?


12

我正在将WPF桌面应用程序从.NET Framwork迁移到Core 3.0。我正在使用System.Windows.Forms.FolderBrowserDialog(),现在陷入了如何将此引用添加到Core项目的问题。没有可用的“ System.Windows.Forms” NuGet包,在那里吗?有没有其他方法可以在Core中显示FolderBrowserDialog?

更新资料

我使用默认模板创建了Core项目,然后将粘贴的.cs和.xaml文件复制到其中。.csproj文件如下所示:

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

文档说存在该类:docs.microsoft.com/pl-pl/dotnet/api/…-请粘贴csproj文件-也许TargetFramework是错误的。
青年旅舍,

请检查更新的问题。我也看到了该页面,但是编译器给出了错误The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'并且没有参考导入建议。
yaugenka '19

Answers:


17

您需要向csproj添加其他开关:

<UseWindowsForms>true</UseWindowsForms>

将其添加到UseWpf下面。然后尝试重建。之后,您应该可以使用Forms命名空间。


有用!谢谢。两个开关的存在是否会影响性能?我只需要Forms中的FolderBrowserDialog。
yaugenka '19

非常感谢!正在寻找解决此问题的方法。它就像一个魅力!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.