如何使用Visual Studio在调试中以管理员身份运行应用程序?

时间:2013-12-05 15:40:48

标签: c# visual-studio

我有一个c#应用程序,我必须具有对C盘根目录的读/写访问权限。我意识到我可以编译代码并以管理员身份运行可执行文件。但我需要调试它,我不确定如何在Visual Studio中启动应用程序。

我尝试过添加:

<requestedExecutionLevel level="asInvoker" uiAccess="true" />

到我的清单但我仍然得到访问被拒绝错误。

以下是失败的代码行:

MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);

现在我有一个工作,但我想知道未来。

6 个答案:

答案 0 :(得分:107)

以管理员身份运行visual studio本身。您从那里调试的任何程序也将以管理员身份运行。

答案 1 :(得分:55)

VS必须以管理员权限运行。但是,一个更优雅的方法是在manifest中的requiredExecutionLevel中设置为“requireAdministrator&#39;。

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

当您打开项目并尝试调试时,VS2012将警告管理员权限并重新启动管理权限。并且exe文件将被标记为首先要求管理员,因此在部署时您不需要在文件属性中配置管理权限要求。

答案 2 :(得分:12)

您也可以自动设置此管理员选项:

enter image description here

答案 3 :(得分:7)

要回答标题中的问题,您可以在启动VS时从上下文菜单中选择以管理员身份运行。

答案 4 :(得分:1)

现在选中的答案将不起作用。

您应该在项目属性 Linker -> 清单文件-> UAC执行级别中找到一个选项。将此设置为 requireAdminstrator

这将导致默认生成的清单包含所需的 requestedExecutionlevel ,这样,如果尚未提升用户权限,则会自动提示您提升其权限。

答案 5 :(得分:0)

发生此错误是因为当前用户没有足够的权限来打开Visual Studio。

要通过右键单击visual studio来解决此问题,并在每次打算打开时选择以管理员身份运行

此外,您可以将兼容性故障排除检查为永久性解决方案

  • 右键单击Visual Studio&gt;选择“疑难解答兼容性”。
  • 选择“疑难解答程序”。
  • 检查程序需要其他权限。
  • 点击测试程序。
  • 等待片刻直到程序启动。单击“下一步”。
  • 选择是,保存此程序的这些设置。
  • 等待解决问题。
  • 确保最终状态已修复。点击关闭。

要查找有关如何应用图片的详细步骤,请查看此link

希望它可以帮到你