[MSBUILD] - [目标] - [导入] - 相关项目路径无法在构建服务器上运行

时间:2015-09-01 14:23:53

标签: visual-studio-2013 msbuild

我正在尝试使用.csproj中的以下条目在源代码管理中的项目的相对位置使用目标

<Import Project="..\..\Shared\Build\Tools\Targets\config.transform.targets" Condition="Exists('..\..\Shared\Build\Tools\Targets\config.transform.targets')" />

以下路径中提到的共享文件夹是.csproj文件位置上方的两个级别,如中所示 仪表板\共享\建立\工具\目标 仪表板\管理员\ ConfigurationConsole \ ConfigurationConsole.csproj

本地项目&amp;解决方案构建正常,但在构建服务器上排队时失败并出现以下错误。

项目中不存在TransformWebConfig。

所以在尝试了很多事情之后,我终于改变了下面的相对路径,它起作用了。

<Import Project="..\Shared\Build\Tools\Targets\config.transform.targets" Condition="Exists('..\Shared\Build\Tools\Targets\config.transform.targets')" />

想知道这里发生了什么,以及可以在任何地方运行的适当解决方案。

1 个答案:

答案 0 :(得分:1)

实际上指向相对路径的更好方法是使用$(MSBuildProjectDirectory)环境变量强制当前路径为当前项目目录

Relative paths with MSBuild project vs solution

MSBuild: convert relative path in imported project to absolute path