Ich aktualisiere einige Anwendungen von .NET Core 1.1 bis 2.0. Die Apps funktionieren lokal gut, aber nachdem ich die Runtime auf meiner Linux-VM aktualisiert und implementiert habe, bekomme ich Fehler:
Eine Assembly, die im Manifest der Anwendungsabhängigkeiten angegeben ist (foo.deps.json) wurde nicht gefunden: Paket: 'Microsoft.ApplicationInsights.AspNetCore', Version: '2.1.1' Pfad: 'lib / netstandard1.6 / Microsoft.ApplicationInsights.AspNetCore.dll'
Es wurde erwartet, dass sich diese Assembly im lokalen Laufzeitspeicher befindet Die Anwendung wurde unter Verwendung der folgenden Zielmanifestdateien veröffentlicht: aspnetcore-store-2.0.0-linux-x64.xml; aspnetcore-store-2.0.0-osx-x64.xml; aspnetcore-store-2.0.0-win7-x64.xml; aspnetcore-store-2.0.0- win7-x86.xml
Ich denke, das liegt daran, dass der Runtime-Download nicht den neuen Ordner für den Laufzeitspeicher generiert, der bei der Verwendung des Microsoft.AspNetCore.All-Pakets benötigt wird.
Ich kann stattdessen das gesamte SDK installieren und das funktioniert gut, aber ich würde es vorziehen, weiterhin nur die Laufzeit zu verwenden.
Wie erstelle ich den Laufzeitcache manuell, ohne das SDK auf dem Produktionsserver zu benötigen?
Update 12/4/2017
Die ASP.NET Core-Laufzeitumgebung ist jetzt auf der Hauptdownloadseite von .NET Core aufgeführt. Ссылка
Update 10/3/2017
Sie können auch über einen Paket-Feed installieren.
Unter diesem Link finden Sie Anweisungen zum Hinzufügen der .NET Core-Paket-Feeds für apt, yum, zypper und andere: Ссылка
Wenn Sie beispielsweise auf Ubuntu 16 installieren möchten, tun Sie dies:
%Vor%Ursprüngliche Antwort
Sie können nur den ASP.NET Core-Laufzeitspeicher von hier herunterladen:
Sie müssen auch die .NET Core 2.0.0-Laufzeitumgebung herunterladen (siehe Ссылка ).
Entpacken Sie beide Dateien in den gleichen Ordner, d. h. der Ordner "store" und "additionalDeps" aus dem Archiv des Laufzeitspeichers sollte parallel zur ausführbaren Datei von dotnet sein.
In der Dokumentation zum Laufzeitpaketspeicher können Sie Folgendes hinzufügen Ihre .csproj
-Datei:
und die Abhängigkeiten werden einbezogen, wenn Sie dotnet publish
verwenden.
Für CentOS 7 funktionierte folgendes für mich:
Downloaden und installieren Sie die Laufzeit:
mkdir -p / home / dotnet & amp; & amp; tar zxf dotnet-runtime-2.0.0-linux-x64.tar.gz -C / home / dotnet
Laden Sie das SDK herunter und installieren Sie es. Dies ist ein Muss, um den Asp.Net Core Store-Ordner zu erhalten
mkdir -p / home / dotnetSDK & amp; & amp; tar zxf dotnet-sdk-2.0.0-linux-x64.tar.gz -C / home / dotnetSDK
Kopieren Sie den Geschäftsordner vom SDK in die Laufzeitumgebung:
cp -rp / home / dotnetSDK / speicher / home / dotnet / store
Entfernen Sie das SDK:
rm -dfr / home / dotnetSDK
setze 'dotnet' auf den PATH, wie in den offiziellen Dokumenten erklärt (unten ist nicht permanent):
export PATH = $ PFAD: / home / dotnet
Jetzt können Sie es testen und bestätigen:
%Vor%Endlich: Komprimieren / Archivieren / home / dotnet, damit Sie die Steps 2, 3 & amp; 4 in zukünftigen Bereitstellungen derselben Version 2.0.0 .
Ich habe dieses Problem festgestellt, weil meine dotnet-SDK-Version hinter der Paketversion von Microsoft.AspNetCore.All stand. Die Kompatibilität der Versionen (entweder durch Zurücksetzen des Pakets oder durch Aktualisieren des Host-SDK) hat mein Problem behoben. Dummer Fehler zu machen, aber hoffentlich wird es jemandem helfen.
Tags und Links .net linux asp.net-core asp.net-core-2.0