2017-06-26 3 views
2

Ich habe eine neue Website mit Visual Studio 2017 erstellt. Das Zielframework für diese Website ist NetCoreApp 1.1. Da es sich um ein MVC-Projekt handelt, verweist es auf eine Reihe von Microsoft- und Drittanbieter-DLLs von Nuget. Ich habe auch ein Datenprojekt, das ich als eine Bibliothek erstellt habe. Es ist Netstandard1.6. Wenn ich die Lösung erstelle, wird keine der DLLs aus den Nuget-Paketen in den Ordner bin kopiert. Dies führt dazu, dass die App beim Debuggen mit einer FileNotFound-Ausnahme abstürzt. Die Projektreferenzen werden korrekt kopiert, daher scheint es nur ein Problem mit Nuget-Paketen zu sein. Als Workaround kann ich das Projekt veröffentlichen und diese Ausgabe in den bin-Ordner kopieren, aber das sollte ich nicht tun müssen, oder?Abhängigkeiten nicht in den Ordner bin

Antwort

4

.NET Core verwendet die generierte Datei .deps.json in der Ausgabe zum Auflösen von Assemblys, sodass das unnötige Kopieren der Dateien während des Builds vermieden wird. Wenn jedoch einige Assemblies versuchen, im Ausgabeverzeichnis nach anderen Assemblies zu suchen oder auf die in der deps.json-Datei referenzierten Dateien nicht zugegriffen werden kann (z. B. Buildausgabe in IIS testen), können Sie dies in Ihrer csproj-Datei zu einem <PropertyGroup>-Element hinzufügen damit die NuGet-Assemblys in das Ausgabeverzeichnis kopiert werden:

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> 
+0

Funktioniert wie ein Charme. Vielen Dank! – DrewB

Verwandte Themen