C# 找不到Microsoft.Win32

C# 找不到Microsoft.Win32,c#,visual-studio,winapi,using,C#,Visual Studio,Winapi,Using,我有一个项目,它使用以下代码行为用户提供选择文件位置等选项 Win32.SaveFileDialog dialog = new Win32.SaveFileDialog(); 但是,使用此选项,我会得到以下错误: the type or namespace name 'Win32' could not be found (are you missing a using directive or an assembly reference?) 我在文件顶部使用了以下“使用指令”: using

我有一个项目,它使用以下代码行为用户提供选择文件位置等选项

Win32.SaveFileDialog dialog = new Win32.SaveFileDialog();
但是,使用此选项,我会得到以下错误:

the type or namespace name 'Win32' could not be found (are you missing a using directive or an assembly reference?)
我在文件顶部使用了以下“使用指令”:

using System;
using Microsoft.Win32;
我相信这些都是必需的(实际上,使用Microsoft.Win32甚至可能都不需要)

我有以下项目/组件(?)参考:

  • Microsoft.CSharp
  • 微软Kinect
  • 展示中心
  • 呈现框架
  • 系统
  • 系统核心
  • 系统数据
  • System.Data.DataSetExtensions
  • System.Xaml
  • Xml
  • System.Xml.Linq
  • 窗台

我知道围绕着这些问题有一百万个问题,但似乎没有一个能帮我解决。我试着重建解决方案,清洗它,关闭和打开VS(2013)。不幸的是,我对VS或C不太熟悉,但我想我尝试了大多数合理的解决方案

删除并再次添加项目中的引用

命名空间:Microsoft.Win32
程序集:PresentationFramework(在 PresentationFramework.dll)

表示允许用户指定文件名的公用对话框 将文件另存为。应用程序无法使用SaveFileDialog 在部分信任下执行的


使用命名空间
System.Windows.Forms
来使用
SaveFileDialog

的功能自从您使用
Microsoft.Win32
并试图直接使用
Win32
以来,我相信您还需要添加以下指令来直接访问
Win32

using Microsoft;
相反,您需要这个指令

using Microsoft.Win32.SaveFileDialog; 
或者可以为相同的功能使用以下代码行:

Microsoft.Win32.SaveFileDialog dialog = new Microsoft.Win32.SaveFileDialog();

我在VS2015中重新编辑的旧代码也有同样的问题


我刚刚删除了
Microsoft.Win32
,只留下了
SaveFileDialog
(在两行中:指令和对象创建),它对我很有效。

由于您使用Microsoft.Win32并试图直接使用Win32,我相信您还需要添加使用Microsoft;直接访问Win32的指令。@deathismyfriend您的建议实际上不起作用,但由于您提到“直接使用它”,它导致我使用
Microsoft.Win32.SaveFileDialog
。如果我使用
Win32
Microsoft.Win32
,这对我来说并不重要,所以谢谢!)不知道为什么我以前没想到。。。但仍然很奇怪,它不想只使用Win32。没有问题,这为您解决了吗?我相信,其中一些不起作用,是因为名称冲突。我以前在windows窗体和其他方面也遇到过同样的问题,同样的错误也出现了。@deathismyfriend是的,已经解决了(直接使用
Microsoft.Win32.SaveFileDialog
)。这很好。不确定您是想写自己的答案,还是让我写一个来接受,因为我的答案不准确?有多个SaveFileDialog。Bono正在尝试使用Microsoft指令中的指令,而不是windows窗体中的指令。谢谢,我选择了
Microsoft.Win32.SaveFileDialog=new Microsoft.Win32.SaveFileDialog()。我是否以某种方式直接使用它对我来说并不重要;)