我想打电话给像NUnit的可执行工具,我的MSBuild通过的NuGet管理:
<Target Name="Test">
<CreateItem Include="$(BuildCompileDirectory)\*.Tests.*dll">
<Output TaskParameter="Include" ItemName="TestAssemblies" />
</CreateItem>
<NUnit
Assemblies="@(TestAssemblies)"
ToolPath="$(PackagesDirectory)\NUnit.2.5.10.11092\tools"
WorkingDirectory="$(BuildCompileDirectory)"
OutputXmlFile="$(BuildDirectory)\$(SolutionName).Tests.xml" />
</Target>
的问题是,一个的NuGet包的文件夹中包含的包的版本号。 例如nunit-console.exe
是在文件夹packages\NUnit.2.5.10.11092\tools
。 如果我更新NUnit的包装这条道路会改变,我要更新我的MSBuild脚本。 这是不能接受的。
的MSBuild不允许在目录通配符,所以这是不工作:
ToolPath="$(PackagesDirectory)\NUnit.*\tools"
我如何可以调用的MSBuild工具,而不必每当我更新NuGet包来更新我的构建脚本?