关注these steps,将UAC清单添加到作为资源嵌入的C#项目中。
第1步工作正常,我在项目中创建RC文件,如所描述的简单文本文件。
#include <winuser.h>
#define IDR_MANIFEST 1 // 2 for a DLL
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE
{
"<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">
<asmv3:trustInfo xmlns:asmv3=""urn:schemas-microsoft-com:asm.v3"">
<asmv3:security>
<asmv3:requestedPrivileges>
<asmv3:requestedExecutionLevel
level=""asInvoker""
uiAccess=""false"" />
</asmv3:requestedPrivileges>
</asmv3:security>
</asmv3:trustInfo>
</assembly>"
}
然后使用Visual Studio命令提示符,我在步骤2得到以下输出:
c:\myproject>rc MyResourceFile.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
ConfigurationManager.rc(4) : error RC2135 : file not found: 1
我认为这是非常愚蠢的,对吧?
答案 0 :(得分:1)
没有复制品,我没有看到任何错误。自VS2008(可能是VS2005 SP1 for Vista)以来,C#编译器已将UAC清单嵌入到程序集中。如果要修改它,请使用Project + Add New Item并选择“Application Manifest File”项目模板。
答案 1 :(得分:0)
正如Hans Passant所说,从VS 2008开始,您可以直接将清单文件添加到项目中。然后在项目属性下,选择“应用程序”选项卡,从ComboBox“Manifest:”中选择清单文件。
答案 2 :(得分:0)
我最终使用mt.exe在后期构建步骤中将清单嵌入到.exe文件中。但汉斯的回答非常接近。所以我想“未找到文件”的谜团仍未解决......
答案 3 :(得分:0)
尝试使用
而不是
即。替换'&lt;&gt;'双qoutes。
答案 4 :(得分:0)
确保rc文件是UTF-8编码的。我试图编译ANSI或UTF-8 BOM编码文件,我收到此错误消息。