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


90

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

我尝试添加:

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

到我的清单,但仍然出现拒绝访问错误。

这是失败的代码行:

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

目前,我有工作要做,但我想知道将来。


3
如果以管理员身份运行VS,则正在调试的所有内容也将以admin身份运行。
JMK 2013年

我建议采取以下修复措施,否则您在运行固定解决方案时会遇到问题
JonnyRaa 2014年

就我而言,我必须转到兼容性并选择在Windows XP(Service Pack 3)中运行。以管理员身份运行IDE并没有帮助。
温迪'18年

Answers:


125

只需以管理员身份运行Visual Studio本身即可。您从那里调试的任何程序也将以管理员身份运行。


13
更好的是,将Visual Studio快捷方式从其“属性”页面设置为以管理员身份运行
Panagiotis Kanavos

19
@PanagiotisKanavos我个人比较喜欢以避免运行的东西以管理员身份除非我有一个具体的理由这样做
山姆我说恢复莫妮卡

1
是。有一些程序需要管理员。然后,一旦运行,VS要求以管理员模式重新启动VS。我不确定这是怎么回事。我只是设置了级别=“ requireAdministrator”。但有时,它不会自动重新启动
Jayson Ragasa 2015年

@SamIam:部署Web应用程序后,需要进行哪些设置...?
Ghanshyam Lakhani

1
尽管已被接受,但这不是正确的解决方案。除非必要,否则您不运行程序,也不运行VS或其他任何程序作为管理员。最初的问题是关于OP编写的程序,而不是VS。正确的答案是指定正在开发的程序需要管理员权限。
加博尔

65

VS必须以管理员权限运行。但是,一种更优雅的方法是将清单中的requiredExecutionLevel设置为'requireAdministrator'。

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

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


1
还要确保在项目的“安全性”选项卡下,未选中“启用ClickOnce ...”,否则当您尝试运行管理员要求的代码时,您将收到安全警告。(如果您已经在某个时刻点击了“发布”,则会检查该设置)。
monty

1
只是一个注释-如果没有清单,只需添加一个即可。我以某种方式未能意识到它可能不存在。
Mołot

12

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

在此处输入图片说明


1
我认为您的意思是在上下文菜单中突出显示“属性”条目,但是每个人都知道您在说什么。
亚伦·坎贝尔

更简单的方法是Compatibility > Run As Administrator
AStopher '16

1
这是一个巨大的坏主意。您确实不希望Visual Studio一直以管理员身份运行。
Jammer

1
此屏幕快照是完全无法理解的,并且没有附带说明,无论它是否是一个好的解决方案。
MickeyfAgain_BeforeExitOfSO

7

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


4

现在,已检查的答案将不起作用。

您应该在项目属性Linker- > Manifest File- > UAC Execution Level中找到一个选项。将此设置为requireAdminstrator

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


1

由于出现了“此任务要求应用程序具有提升的权限”错误,因为当前用户没有足够的权限打开Visual Studio。

作为临时解决方案

您可以通过右键单击Visual Studio并在每次打算打开它时选择以管理员身份运行来解决此问题。

作为永久解决方案

您可以检查兼容性疑难解答

  • 右键,单击Visual Studio>选择“疑难解答”。
  • 选择“疑难解答程序”。
  • 选中程序需要其他权限。
  • 单击测试程序。
  • 等待片刻,直到程序启动。点击下一步。
  • 选择是,为该程序保存这些设置。

有关图像的详细步骤,请检查Visual Studio是否要求应​​用程序具有提升的权限

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.