2011-12-13 76 views
0

我有一個通過ClickOnce發佈的項目;這個項目包含一些用於本地化的DLL。但正如你所知,這些DLL並沒有直接引用該項目。它們位於項目的分離文件夾中。通過Team Build 2010更改文件的構建操作屬性

由於代碼分析警告,我們將這些文件的「構建操作」屬性配置爲無。 但是,如果發佈的時候它們的Build Action = None,那麼你猜Visual Studio不會將它們包含到包中。因此,在我們開始發佈之前,我們將其構建操作屬性更改爲內容。

但現在,我想通過Team Build 2010發佈;所以Team Build將創建ClickOnce包。但是我找不到更改文件的「生成操作」屬性的方法。

這有什麼可能嗎?

回答

0

我使用Condition屬性找到了自己的解決方案。

項目文件根據其「構建操作」屬性包含解決方案項目。 例如, 如果文件的生成操作=無,項目文件中包含像這樣

<None Include="MyRequiredAssembly.dll" /> 

否則,如果文件的生成操作=內容它看起來像這樣

<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> 

我希望這對你也有幫助。

相關問題