提问者:小点点

.NET标准Microsoft.Win32不包含OpenFileDialog()方法


我正在尝试打开我的WPF应用程序中的文件对话框,它是一个.NET核心应用程序,并且使用我所有代码所在的.NET标准库。但是,当我尝试从Microsoft.Win32命名空间继承的OpenFileDialog()方法时,它会显示“名称OpenDialog在当前上下文中不存在”,这是即使在手动添加命名空间之后也会出现的重复错误。然而。当我在我的.netcoreapp中尝试时,它工作得很好。从而得出结论:这可能只是.netstandard的一个问题。我的问题是什么是最好的修复,我不能把代码放在我的.netcore WPF应用程序中,所以唯一的其他选择是创建一个新的项目,唯一的目的是打开文件对话框,我觉得有点太多了。请问有没有人有其他选择,或者也许是我做错了事情。我将感谢你所有的贡献。


共1个答案

匿名用户

Microsoft.Win32.OpenFileDialog/code>是Windows特定的API,不是.NET标准的一部分。

您可以创建另一个以NetCoreApp3.1Net5.0-Windows为目标的类库,然后从这个类库引用现有的.NET标准类库,例如:

WPF应用程序->NetCoreApp3.1类库->NetStandard2.0类库

另一种选择是使用Windows兼容性包作为.NET Standard项目的扩展。