通过Team Build 2010更改文件的构建操作属性

时间:2011-12-13 12:37:42

标签: visual-studio-2010 tfs2010 clickonce tfsbuild

我有一个我们通过ClickOnce发布的项目;这个项目包含一些用于本地化的DLL。但是你知道这些DLL没有直接引用到项目中。它们位于项目的separeted文件夹中。

由于代码分析警告,我们将这些文件的“构建操作”属性配置为“无”。 但是如果在Build Action = None时发布,那么您猜测Visual Studio不会将它们包含在包中。因此,在我们开始发布之前,我们将其Build Action属性更改为Content。

但是现在,我想通过Team Build 2010发布;所以Team Build将创建ClickOnce包。但是我找不到改变文件的Build Action属性的方法。

有没有可行的方法?

1 个答案:

答案 0 :(得分:0)

我使用Condition属性找到了自己的解决方案。

项目文件根据其Build Action属性包含解决方案项。 例如, 如果文件的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>

我希望这对你也有帮助。