2011-03-02 58 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')"/>