当前位置: 首页 > 知识库问答 >
问题:

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

和谦
2023-03-14

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

共有1个答案

骆英纵
2023-03-14

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

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

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

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

 类似资料:
  • 本文向大家介绍.NET Framework 包含,包括了.NET Framework 包含的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 本文向大家介绍.net-core 定位.NET标准,包括了.net-core 定位.NET标准的使用技巧和注意事项,需要的朋友参考一下 示例 目标库netstandard1.3可以在支持.NET Standard 1.3或更高版本的任何框架上使用。为库选择较低的.NET Standard版本意味着更多的项目可以使用它,但可用的API却更少。

  • 类库定义了可以从任何应用程序调用的类型和方法。 使用.NET Core开发的类库支持.NET标准库,该标准库允许您的库由任何支持该版本的.NET标准库的.NET平台调用。 当完成类库时,可以决定是将其作为第三方组件来分发,还是要将其作为与一个或多个应用程序捆绑在一起的组件进行包含。 现在开始在控制台应用程序中添加一个类库项目(以前创建的FirstApp项目为基础); 右键单击解决方案资源管理器 ,

  • 我读过关于.NET标准和.NET核心之间的区别,但我真的不知道区别是什么,也不知道什么时候选择.NET标准库项目,什么时候选择.NET核心库项目。

  • 我正在尝试从azure服务总线主题中读取消息,并使用C#的控制台应用程序显示它。我发现了很多他们正在使用的在线解决方案 当我试图在我的程序中使用相同的东西时,会得到红色的弯曲线,说明subscriptionclient不包含CreateFromConnection字符串的定义。我使用的是Microsoft.Azure.ServiceBus包。我在Microsoft.ServiceBus.Messa

  • OpenFileDialog控件提示用户打开文件并允许用户选择要打开的文件。 用户可以检查文件是否存在然后打开它。 OpenFileDialog控件类继承自抽象类FileDialog 。 如果ShowReadOnly属性设置为True,则会在对话框中显示只读复选框。 您还可以将ReadOnlyChecked属性设置为True,以便选中只读复选框。 以下是“打开文件”对话框 - OpenFileDi