Ich habe Global nuget.config bearbeitet, um einen einzelnen Paketordner zu verwenden.NuGet/MSBuild Kopieren von Binärdateien in den lokalen Ausgabeordner ohne HintPfad
Ich habe ein neues leeres C# -Konsolenprojekt erstellt von VS2015. Ich füge eine NuGet-Referenz hinzu, zum Beispiel Newtonsoft.Json, dann erstellt VS eine packages.config und listet Newtonsoft.Json als Paket auf.
Diese Datei wird zur .csproj-Datei hinzugefügt.
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\..\..\CxCache\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <Private>True</Private> </Reference>
Wenn das Projekt den Bau werden Newtonsoft.Json Binärdateien in lokale Ordner bin kopiert. Wenn ich die Newtonsoft.Json-DLL aus dem lokalen Bin lösche, wird sie nach einem Build erneut kopiert.
Allerdings möchte ich keine HintPath-Eigenschaft in csproj verwenden (nicht in Repo einchecken), also ich denke, ich sollte in der Lage sein, HintPath zu löschen, und es wird gut funktionieren. Ich entferne die HintPath-Zeile von .csproj und lösche Newtonsoft.Json dll aus dem lokalen Bin.
Dieses Mal beim Erstellen werden Newtonsoft.Json-Binärdateien aus dem globalen nuget-Paketordner nicht in die lokale Bin kopiert. Gibt es eine Arbeit?
Normalerweise würden Sie verwenden „wiederherstellen Pakete auf Build“ zu vermeiden Überprüfung nugets in ... (eindeutig nicht eine Antwort auf Ihre Frage, aber wahrscheinlich das, was Sie tun sollten, anstatt) –