你如何引用.targets中的解决方案文件夹?

时间:2016-04-29 18:19:08

标签: visual-studio msbuild

我有一个自定义工具,我使用Visual Studio 2015中的.targets机制在某些文件类型上运行。

项目存在于多个级别,我想在将代码提取到任何驱动器/文件夹(包括TFS CI代理程序)时引用此工具。

我尝试使用相对路径,但因为文件处于不同的级别,所以它并不适用于所有项目。

我尝试使用注册表设置和环境变量,但这对于每次都可能在不同文件夹中构建的CI计算机来说并不是一个好兆头。

是否可以获取项目/文件所在的解决方案文件夹,然后我可以使用工具目录的相对路径?

我能找到的只是这些属性,似乎没有帮助: 一般MSBuild属性: https://msdn.microsoft.com/en-us/library/bb629394.aspx

https://msdn.microsoft.com/en-us/library/ms164309.aspx

注册表和环境变量: https://msdn.microsoft.com/en-us/library/ms171458.aspx

2 个答案:

答案 0 :(得分:0)

您可以在.targets中使用所有标准令牌。 只需使用

$(SolutionDir)

请参阅https://msdn.microsoft.com/en-us/library/c02as0cs.aspx

答案 1 :(得分:0)

自助服务答案:对预处理器宏中的vcxproj使用visual studio的属性编辑,或者包含路径等以查看一堆可用变量。您通常可以在那里,按名称或通过示例找到所需内容,包括您在此处所需的内容。比任何文件更好。