这适用于VS2010和VS2012。但是在VS2013应用程序中(通过按“运行”或F5)只是以我的用户权限开始并且无法访问某些资源(我正在使用 HttpListener)。
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
我试图谷歌,试图生成新的清单,从 MSDN 复制它的内容,但没有任何帮助。VS2013的这一部分有什么变化吗?
Update1:
那是一部分。这是完整的清单内容:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application></application>
</compatibility>
</asmv1:assembly>
更新 2:
这里的 Okey 是一个简单的例子:当我运行编译的 .exe 文件时,UAC 要求管理员权限。但是当我从VS2013运行它(通过按“运行”或F5)它没有!如果您使用VS2012/VS2010打开同一个项目,他们会要求在管理员下重新启动。
您可以快速检查:在VS2013
中创建控制台应用程序,添加清单并设置level="requireAdministrator"。然后运行或按F5(按Ctrl-F5时, VS2013在管理员下运行应用程序)。
但这不是VS2012/VS2010的行为!
我们怎样才能得到旧的行为?
更新3:
请在这里投票或通知我另一张票。