3

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

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

我发现了一些针对 C++ 项目执行此操作的技巧,但我是 C#。

我在这里遗漏了一些明显的东西吗?我的谷歌技能生锈了吗?我找不到有关如何为 C# 项目解决此问题的信息,也无法弄清楚如何在 Visual Studio 中进行调整。

4

2 回答 2

13

我知道它有点晚了,但是我通过像这样修改 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" />
于 2015-02-20T19:38:30.947 回答
-1

没门。那说:放入一个毫无意义的错误,放入properones,使用后期构建步骤正确复制它们。完成的。

于 2012-02-14T19:07:10.010 回答