如果导入失败,MSBuild项目将不会加载?

det*_*pro 11 msbuild msbuild-task msbuild-propertygroup

我在项目文件(App.Tests.csproj)中创建了一个导入项目的构建目标:

 <Import Project ="$(Location)\Special.Tasks"/>
Run Code Online (Sandbox Code Playgroud)

这些任务仅存在于我们的构建服务器上,该位置在我们的开发人员工作站上不存在.构建目标将仅从构建服务器运行.

我的问题是,当我尝试在没有Special.Tasks的工作站上打开sln(包含带有构建目标的项目)时,项目将无法加载.

我不想将Special.Tasks分发给每个工作站.

即使导入失败,有没有办法告诉MSBuild或Visual Studio加载?

Ser*_*kov 20

只需向Import目标添加条件即可

<Import Project ="$(Location)\Special.Tasks"
        Condition="Exists('$(Location)\Special.Tasks')"/>
Run Code Online (Sandbox Code Playgroud)