Holen Sie NuGet-Paket-Ordner, in MSBuild

Möchte ich nennen ausführbaren tools wie NUnit, die ich verwalten über NuGet in MSBuild:

<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>

Das problem ist, dass der Ordner von einem NuGet-Pakete mit der Versionsnummer des Pakets. Zum Beispiel nunit-console.exe ist in dem Ordner packages\NUnit.2.5.10.11092\tools. Wenn ich ein update der NUnit-Paket dieser Pfad wird sich ändern, und ich das update meiner MSBuild-Skript. Das ist nicht akzeptabel.

MSBuild nicht erlaubt Wildcards in den Verzeichnissen, so funktioniert das nicht:

ToolPath="$(PackagesDirectory)\NUnit.*\tools"

Wie kann ich rufen Sie die Funktion Werkzeuge in MSBuild ohne update mein build-script, wenn ich ein update für ein NuGet-Paket?

Schreibe einen Kommentar