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

kulphzqa  于 2022-11-18  发布在  .NET
关注(0)|答案(3)|浏览(113)

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

更新

我使用默认模板创建了Core项目,然后将.cs和.xaml文件复制并粘贴到其中。

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

xdnvmnnf1#

您需要向csproj添加一个附加开关:

<UseWindowsForms>true</UseWindowsForms>

将其添加到UseWpf下面然后尝试重新生成完成此操作后,您应该能够使用Forms命名空间

rmbxnbpk

rmbxnbpk2#

这是如何在.NET 5.0中为WPF应用程序和WindowsForms引用System.Windows.Forms的方法

<PropertyGroup>
   <TargetFramework>net5.0-windows</TargetFramework>
   <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
   <UseWPF>true</UseWPF>
   <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
lxkprmvk

lxkprmvk3#

它似乎已存在:https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0
对于其他移植问题,您可能希望使用Windows Compatibility Pack,它用于帮助将应用程序移植到.NET Core
可能还有一些关于WPF和这个问题的更多信息,因为它已经存在了一段时间。这可能是有用的Select folder dialog WPF,并为.NET核心更新。
祝您升级顺利!

相关问题