繁体   English   中英

在构建脚本中编辑csproj文件是否很常见?

[英]is it a common thing to edit the csproj file in build scripts?

我希望我的构建脚本能够在构建时从我的c#项目中自动添加(或删除)文件。 我看到csproj文件中的条目告诉vs2010该文件在项目中相对简单。

我想我可以使用构建脚本来编辑csproj文件,以添加应存在于其中的文件,并删除不应该基于构建脚本运行的某些逻辑的文件。

有人会试图说服我吗?

谢谢

艾萨克

这不是平常的事,不。

我不喜欢它的原因很简单:如果您在本地结帐上运行构建脚本,它将更改结帐。 在我的书中,完美的构建脚本是可逆的,只需删除构建输出和任何中间目录即可。

如果要基于构建位置包含/排除文件,那么最好的办法是创建一个额外的构建配置,在其中设置一个特殊的条件编译符号,并在源文件中使用#if。

或者,您可以简单地将Condition属性放在.csproj中的文件上,因为它只是一个MSBuild文件。 像这样:

<ItemGroup>
  <Compile Include="Something.cs" Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "/>

(注意-我尚未测试以上内容,但我认为它应该可以工作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM