E-R*_*Riz 1 c# msbuild visual-studio
在大型(团队和代码)项目中,我们设置了各种App.config,Web.config以引用(可选)local.config文件,以便开发人员在本地运行时可以覆盖某些内容。local.config列在中,.getignore因此将被忽略并且不包含在提交中。这很好地支持了本地配置覆盖。
但是,对于控制台应用程序,local.config默认情况下不会复制到输出目录。我可以在VS中设置其属性,以便将其复制到输出-它将在.csproj文件中列出,如下所示:
<None Include="local.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Run Code Online (Sandbox Code Playgroud)
即使在特定的开发人员根本没有local.config文件的情况下,这在VS中也能正常工作。但是,它在VSTS生成作业中失败,因为当缺少列出的文件时,msbuild显然不喜欢它。
有什么方法可以配置项目或msbuild,以便它可以容忍/忽略丢失的(可选)文件,而不会使构建失败?
这可以通过使用msbuild条件来完成:
<None Include="local.config" Condition="Exists('local.config')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
399 次 |
| 最近记录: |