解决方案在.net Framework WPF中使用FolderBrowserDialog对象打开文件资源管理器选择文件夹很简单,直接添加System.Windows.Forms.dll到项目中,然后引用即可调用该对象;
但是在.net core 3.1 中直接引用System.Windows.Forms.dll会造成与System.Windows命名空间冲突,导致编译报错
(1)打开项目的.csproj文件,可以看到.net core 3.1 WPF项目PropertyGroup默认配置如下,也就是说默认不支持WinForm
(2)因此我们只需要开启WinForm支持就可以调用System.Windows.Forms中的对象和方法了
WinExe netcoreapp3.1 true true
如图:
注意:只需要开启Winform支持即可在代码中Using System.Windows.Forms命名空间并调用相关对象,不需要再在项目上手动添加System.Windows.Forms.dll程序集的引用
效果如图



