如何在msbuild文件中给出相对路径?

时间:2010-01-20 06:57:00

标签: msbuild

我正在编写一个msbuild文件来使用galio.Now运行测试,我需要提供

<UsingTask AssemblyFile="..\dll\Gallio.MSBuildTasks.dll" TaskName="Gallio" />

这不起作用,当我提供完整路径c:\ program file \ galio \ bin时,它可以工作。但是,我想在Gallio.MSBuildTasks.dl所在的源代码管理中给出我的dll文件夹的路径。如何这样做?

3 个答案:

答案 0 :(得分:6)

路径是相对于什么的? 可能不是你从哪里执行msbuild。 如果路径相对于MSBuild文件的位置,请尝试将相对路径与MSBuild文件路径连接:

<PropertyGroup>
   <AssemblyFileName>$(MSBuildProjectDirectory)\..\dll\Gallio.MSBuildTasks.dll</AssemblyFileName>
</PropertyGroup>
<UsingTask AssemblyFile="$(AssemblyFileName)" TaskName="Gallio" />

有帮助吗?

答案 1 :(得分:1)

确保您正确写入相对路径“.. \ dll \ Gallio.MSBuildTasks.dll”。 我试过这个,在指定我的dll的相对路径方面没有任何问题。如果路径不正确,则在运行构建文件时应该收到错误说明。如果它不起作用,您可以发布使用相对路径时得到的错误。

答案 2 :(得分:1)

根据this MSDN page,您可以使用$(MSBuildThisFileDirectory)