VS2008 / C#:如何指定单独的调试和发布清单?

时间:2012-02-14 18:59:44

标签: c# visual-studio-2008 manifest winsxs

我有一个C#.exe,需要并行部署手工制作的清单。我需要为每个发布和调试版本使用不同的清单。

我在应用程序设置中设置了应用程序的清单。但是,这似乎与配置无关(我的应用程序设置顶部的配置选择器显示为灰色,其中N / A作为其内容)。

我为C ++项目找到了一些提示,但我是C#。

我错过了一些明显的东西吗?我的谷歌技能生锈了吗?我找不到关于如何为C#项目解决这个问题的事情,我无法弄清楚如何在Visual Studio中调整它。

2 个答案:

答案 0 :(得分:6)

我知道它有点晚了,但我通过修改csproj文件解决了类似的问题。

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <ApplicationManifest>app.manifest</ApplicationManifest>
  </PropertyGroup>

这是我只想在发布版本上使用app.manifest而不是在调试版本上。如果您需要针对不同配置使用不同的app.manifest文件,您可以在不同的文件夹中创建不同的app.manifest文件,然后使用该条件知道要使用哪个文件。

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <ApplicationManifest>Manifests\Release\App.manifest</ApplicationManifest>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <ApplicationManifest>Manifests\Debug\App.manifest</ApplicationManifest>
  </PropertyGroup>

您只保留具有这些文件的None元素的ItemGroup:

<None Include="Manifests\Debug\App.manifest" />
<None Include="Manifests\Release\App.manifest" />

答案 1 :(得分:0)

没办法。这说:放入一个毫无意义的错误,放入合适的人,使用后期构建步骤正确复制它们。结束。