2011-03-02 43 views
11

我在導入一個項目一個項目文件(App.Tests.csproj)創建的構建目標:如果導入失敗,MSBuild項目將不會加載?

<Import Project ="$(Location)\Special.Tasks"/> 

這些任務只有我們構建服務器上,該位置不存在於我們的開發工作站。構建目標將永遠只能從構建服務器運行。

我的問題是,當我嘗試在沒有Special.Tasks的工作站上打開sln(包含具有構建目標的項目)時,該項目將無法加載。

我不想將Special.Tasks分發到每個工作站。

即使導入失敗,是否有任何方法可以告訴MSBuild或Visual Studio加載?

+0

感謝得到一個答案!在我的情況下,這是一個問題,因爲我的項目依賴於nuget包提供的.targets文件,只能作爲構建的一部分進行安裝。 – Sandy 2012-07-05 16:58:49

回答

19

只需添加條件到Import target

<Import Project ="$(Location)\Special.Tasks" 
     Condition="Exists('$(Location)\Special.Tasks')"/>