2015-11-05 112 views
0

我正在运行应作为管理权限运行的应用程序,但在添加清单文件之后,仍然不需要以管理员身份运行以下应用程序。发布和调试的可执行文件工作,但编码和调试时不需要管理权限。请对此进行分类。C#应用程序没有使用管理权限运行

已经尝试过这两行代码:

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

<requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 
+0

以管理员身份运行Visual Studio。 – Equalsk

回答

4

这是通过使用调试器强加的限制,你启动的程序继承了Visual Studio中的安全令牌。听起来像是你使用的是旧版本,从VS2013你现在得到了关于这个问题的提醒:

enter image description here

它告诉你该怎么做,“重新启动Visual Studio作为管理员”。右键单击其快捷方式并选择“以管理员身份运行”。确认您获得的UAC提示并重新加载解决方案。您的程序现在也会自动运行,请注意,当按F5时,您不会收到UAC提示。您需要测试您的清单是否单独有效。

关于这个怪癖的另一个值得注意的细节是,有一堆Nuget软件包只在VS运行时才正确运行。如果在安装脚本无法添加生成后事件时未能以非常难以诊断的方式工作,则不会收到错误消息。在头顶加些灰色头发。