【问题标题】:Change A File's Build Action Attribute By Team Build 2010通过 Team Build 2010 更改文件的构建操作属性
【发布时间】:2016-12-30 02:24:25
【问题描述】:
我有一个通过 ClickOnce 发布的项目;这个项目包含一些用于本地化的 DLL。但正如您所知,这些 DLL 并没有直接引用到项目中。它们位于项目的单独文件夹中。
由于代码分析警告,我们将这些文件的构建操作属性配置为无。
但是如果在 Build Action = None 时发布,你猜 Visual Studio 不会将它们包含在包中。因此,在我们开始发布之前,我们将它们的 Build Action 属性更改为 Content。
但是现在,我想通过 Team Build 2010 发布;因此 Team Build 将创建 ClickOnce 包。但是我找不到更改文件的 Build Action 属性的方法。
有什么办法吗?
【问题讨论】:
标签:
visual-studio-2010
clickonce
tfsbuild
【解决方案1】:
我使用 Condition 属性找到了自己的解决方案。
项目文件根据其构建操作属性包含解决方案项。
例如,
如果文件的 Build Action = None,项目文件包含它像这样
<None Include="MyRequiredAssembly.dll" />
否则,如果文件的 Build Action = Content 它看起来像这样
<Content Include="MyRequiredAssembly.dll" />
所有这些文件都被分组到<ItemGroup> 中,并且 ItemGroup 标记具有 Condition 属性。
所以我决定像这样使用 Condition 来改变 Build Action 属性。
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Publish|AnyCPU'">
<Content Include="MyRequiredAssembly.dll" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Publish|AnyCPU'">
<None Include="MyRequiredAssembly.dll" />
</ItemGroup>
我希望这对你也有帮助。