我的应用需要以管理员帐户身份运行,因此在app.manifest
我有以下内容:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
如果我在版本x86中运行没有管理员权限的Visual Studio 2013,则它不会要求我以管理员权限重新启动。
但是,在版本x86中没有管理员权限的Visual Studio 2015中运行相同的应用程序在尝试运行应用程序时,会出现以下对话框提示:
这是2013年修复的2015年的错误吗?或者这是2015年的意外行为?
我认为这是2015年的修复,因为这似乎是正确的行为,但为什么会改变?
答案 0 :(得分:2)
是的,这是VS2013中的一个错误。问题是你的程序运行错误的清单。它使用嵌入在yourapp.vshost.exe文件中的清单,它与您创建的清单不匹配。该错误确实在VS2015中修复了。有几个关于它的错误报告,this one可能是最好的。大错,敏捷问题,更新中没有解决。
它有一个简单的解决方法,除了提前VS,使用Project&gt;属性&gt;调试并取消选中&#34;启用Visual Studio托管过程&#34;复选框。现在,EXE中嵌入的清单处于活动状态,VS知道提示您提升。除非您有非常不寻常的设置,例如构建不受信任的网络共享,否则此设置并不重要。
答案 1 :(得分:0)
我在VS2013中创建了一个示例.Net WinForms应用程序,我得到完全相同的提示。我相信你实际上是以管理员的身份运行VS2013而没有注意到它,通常是通过devenv.exe
上的兼容性设置。
另一个问题可能是您的EXE因任何原因编译错误。在提示符中,单击“详细信息”并仔细导航到指定的路径(实际上可能与您的预期不同),然后从磁盘运行应用程序。 Windows是否提示输入UAC /凭证?