如何在msbuild文件中指定相对路径?

如何在msbuild文件中指定相对路径?,msbuild,Msbuild,我正在编写一个msbuild文件以使用galio运行测试 <UsingTask AssemblyFile="..\dll\Gallio.MSBuildTasks.dll" TaskName="Gallio" /> 当我给出完整路径c:\program file\galio\bin时,这不起作用。但是,我想给出Gallio.MSBuildTasks.dl所在的源代码管理中我的dll文件夹的路径。如何执行此操作?确保正确写入相对路径“.\dll\Gallio.MSBuildTask

我正在编写一个msbuild文件以使用galio运行测试

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


当我给出完整路径c:\program file\galio\bin时,这不起作用。但是,我想给出Gallio.MSBuildTasks.dl所在的源代码管理中我的dll文件夹的路径。如何执行此操作?

确保正确写入相对路径“.\dll\Gallio.MSBuildTasks.dll”。
我已经试过了,在指定dll的相对路径方面没有问题。如果路径不正确,则在运行生成文件时会出现一个错误。如果它不起作用,您可以发布使用相对路径时出现的错误。

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

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

$(MSBuildProjectDirectory)\..\dll\galio.MSBuildTasks.dll

它有用吗?

您可以使用
$(MSBuildThisFileDirectory)
,根据。

(RunTests目标)->F:\project\trunk\prj\bll\RunTests.prj(15,9):错误:执行Gallio任务期间发生意外错误。F:\project\trunk\prj\bll\runtests.prj(15,9):错误:Ru NTIMEEException:无法解析服务类型“Gallio.Runner.projects.ITestProjectManager”的组件,因为似乎没有为该服务类型注册和启用任何组件。\r F:\project\trunk\prj\bll\runtests.prj(15,9):错误:t Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveNoDisabledDescriptor(类型serviceType)\r通常MSbuild文件位于名为Tests的文件夹中。dll文件夹是此文件夹上方的一个层次结构
AssemblyFile=“&(AssemblyFileName)”
应为
AssemblyFile=“$(AssemblyFileName)”
(用美元符号代替符号)