Ant*_*ean 18 .net deployment msbuild configuration
我有三个自定义构建配置{Dev,Qs,Prd}.所以,我有三个app配置{Dev.config,Qs.config,Prd.config}.我知道如何根据当前的构建配置编辑.csproj文件以输出正确的文件.
<Target Name="AfterBuild">
   <Delete Files="$(TargetDir)$(TargetFileName).config" />
   <Copy SourceFiles="$(ProjectDir)$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
我的问题是,我需要有六个构建配置{Dev,Qs,Prd} x {Debug,Release}.我需要支持每个环境的调试和发布设置(优化,pdb等).但是,app配置值在调试/发布之间不会更改.
如何使构建脚本尽可能保持通用,并仅使用三个应用程序配置?我不想硬编码太多的条件字符串.
我们使用csproj文件中的Choose元素修复了这个问题.我们设置了几种不同的配置,因此我们所做的就是将此块放入您的proj文件中,您可以使用VS的配置来帮助您.我想让Rob的建议继续通过app.config.我已经朝那个方向走了一段时间.
  <Choose>
<When Condition=" '$(Configuration)' == 'Debug' ">
  <ItemGroup>
    <None Include="App.config" />
    <None Include="Release\App.config" />
  </ItemGroup>
</When>
<Otherwise>
  <ItemGroup>
    <None Include="Release\App.config">
      <Link>App.config</Link>
    </None>
  </ItemGroup>
</Otherwise>
有点像
<PropertyGroup Condition="'$(Configuration)'=='Dev_Debug' OR '$(Configuration)'=='Dev_Release'" >
    <CfgFileName>Dev</CfgFileName>
</PropertyGroup>
<!-- similar for Qs & Prd -->
<Target ...>...$(CfgFileName).config...
| 归档时间: | 
 | 
| 查看次数: | 26489 次 | 
| 最近记录: |