找不到Microsoft.Win32

时间:2015-05-15 06:37:00

标签: 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 System;
using Microsoft.Win32;

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

我有以下项目/汇编(?)参考:

  • Microsoft.CSharp
  • Microsoft.Kinect
  • PresentationCore
  • PresentationFramework
  • 系统
  • System.Core程序
  • System.Data
  • System.Data.DataSetExtensions
  • System.Xaml
  • 的System.Xml
  • System.Xml.Linq的
  • WindowsBase

我知道这些问题有一百万个问题但是没有一个问题似乎帮助了我。我尝试重建解决方案,清理它,关闭并打开VS(2013)。不幸的是,我对VS或C#并不是很了解,但我想我认为我尝试了大部分合理的解决方案。

4 个答案:

答案 0 :(得分:5)

在项目中删除并再次添加PresentationFramework.dll引用。

  

命名空间:Microsoft.Win32
Assembly:PresentationFramework(in   PresentationFramework.dll)

MSDN link to SaveFileDialog Class

  

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

答案 1 :(得分:2)

由于您使用Microsoft.Win32并尝试直接使用Win32,我相信您还需要添加以下指令才能直接访问Win32

using Microsoft;

您需要此指令。

using Microsoft.Win32.SaveFileDialog; 

或者可以使用以下代码行来实现相同的功能:

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

答案 2 :(得分:0)

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

的功能

答案 3 :(得分:0)

我在VS2015中重新编辑的旧代码遇到了同样的问题。

我刚删除Microsoft.Win32并只留下SaveFileDialog(两行:指令和对象创建),它对我有用。