找不到 Microsoft.Win32

Microsoft.Win32 could not be found

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

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 directives":

using System;
using Microsoft.Win32;

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

我有以下 project/assembly(?) 参考资料:

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

在您的项目中删除并重新添加 PresentationFramework.dll 引用。

Namespace: Microsoft.Win32
Assembly: PresentationFramework (in PresentationFramework.dll)

MSDN link to SaveFileDialog Class

Represents a common dialog that allows the user to specify a filename to save a file as. SaveFileDialog cannot be used by an application that is executing under partial trust.

使用命名空间 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(在两行中:指令和对象创建)并且它对我有用。