如何在c#应用程序中嵌入特定于配置的清单文件?
本文关键字:配置 单文件 文件 于配置 应用程序 | 更新日期: 2023-09-27 18:02:50
我想在我的c#应用程序中嵌入一个平台特定的清单文件。是否有一个简单的方法在Visual Studio 2008中做到这一点,而不使用一些外部脚本在构建完成后调用?
在创建c#应用程序时,应用程序选项卡的配置和平台下拉菜单被禁用,阻止我选择架构或配置特定的清单来嵌入该应用程序。我被迫为整个应用程序使用一个清单。
我想到使用后构建事件调用一个小脚本嵌入基于$(Configuration)
宏变量的正确清单,它的工作,但我想这样做,而不调用到其他一些脚本,我想知道是否有可能不使用构建事件。
我可以在同一个清单文件中嵌入x86和x64汇编引用,运行时将加载正确的一个?
你只需要添加app.manifest文件。右键单击项目,选择"添加"->"新建项目…"。选择左侧树视图"Visual c# Items"下的"General"条目。从"模板"列表中,找到并选择名为"应用程序清单文件"的项目。单击Add .
现在你有了一个清单,现在让我们使它特定于平台。右键单击项目并选择"卸载项目"。再次右键单击并选择"编辑{项目名称}.csproj"。
找到第一个配置部分,在最后你应该找到…
<PropertyGroup>
...
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
您需要将ApplicationManifest元素移动到平台配置的适当配置部分中。您甚至可能需要在xml中添加一个部分,就像我在这里为AnyCPU所做的那样:
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
完成后,保存文件,右键单击项目,选择"Reload project"