Ich habe eine bereits vorhandene ASP.NET Core 3.0- Anwendung, die erfolgreich auf einem Azure App-Dienst bereitgestellt wird (mithilfe des AspNetCoreModuleV2
Moduls). Nach dem Upgrade der App auf (die heutige Version von) ASP.NET Core 3.1 wird die Anwendung auf meiner lokalen Version von IIS Express erstellt und ordnungsgemäß ausgeführt . Wenn ich jedoch versuche, mit (der heutigen Version von) Visual Studio 16.4 im Azure App Service zu veröffentlichen, wird folgende Fehlermeldung angezeigt:
Die Assets-Datei 'C: \ Project \ obj \ project.assets.json' hat kein Ziel für '.NETCoreApp, Version = v3.0'. Stellen Sie sicher, dass die Wiederherstellung ausgeführt wurde und dass Sie 'netcoreapp3.0' in die TargetFrameworks für Ihr Projekt aufgenommen haben.
Anmerkungen
- Alles
<PackageReference>
zuMicrosoft.AspNetCore
,Microsoft.EntityFrameworkCore
undMicrosoft.Extensions
aktualisiert wurden3.1.0
- Ich habe meine Lösung gereinigt und sogar meine vernichtet
obj
Ordner zerstört, um sicherzustellen, dass keine Referenzen mehr vorhanden sind. - Dieser Fehler wird aus der
3.1.100
Version von generiertMicrosoft.PackageDependencyResolution.targets
.
Ich verstehe, dass immer noch etwas an den .NET Core 3.0- Abhängigkeiten hängt. Es ist jedoch unklar, warum dies nur während der Bereitstellung zu Problemen führt. Sind die Azure App-Dienste noch nicht für .NET Core 3.1 bereit ? Oder ist dies ein Problem mit den Abhängigkeitsauflösungszielen?
quelle
asp.net-core-3.1
. Mir fehlte der nötige Ruf, um ein neues Tag zu erstellen.<TargetFramework>
Einstellung enthält , auf die ich mich beschränkt habe. Hoppla! Wenn Sie dies so ändern, dass es dem Ziel entspricht, wird das unmittelbare Problem behoben. (Dies führt zu einem neuen Problem mit dem Azure App Service selbst, das auf dem Ziel ausgelöst wird. Dieses Problem kann jedoch wahrscheinlich mithilfe einer eigenständigen Bereitstellung behoben werden, die dem von Ihnen angegebenen Link ähnelt.) Vielen Dank, dass Sie mich in die richtige Richtung weisen!pubxml
netcoreapp3.1
csproj
Antworten:
Das unmittelbare Problem - wie in der ursprünglichen Frage angegeben - hat damit zu tun, dass zwei Stellen
<TargetFramework>
festgelegt sind:csproj
)pubxml
)Das
<TargetFramework>
muss in aktualisiert werden beiden Standorten werden und genau übereinstimmen . Andernfalls kann die Veröffentlichung ihre Ziele nicht in derproject.assets.json
Datei finden, die auf der<TargetFramework>
in dercsjproj
Datei enthaltenen basiert .Texteditor
Um diese Änderung über einen Texteditor vorzunehmen,
~/Properties/PublishProfiles
Ordner.*.pubxml
Sie Sie bearbeiten möchten.<TargetFramework>
bisnetcoreapp3.1
:Visual Studio 2019
Um diese Änderung über das vorzunehmen Visual Studio 2019- IDE ,
netcoreapp3.1
, klicken Sie auf das Bearbeitungssymbol daneben.netcoreapp3.1
.Nochmals vielen Dank an @PanagiotisKanavos, der mich in die richtige Richtung gelenkt hat (siehe Kommentare zum Original-Thread).
quelle
pubx
Datei öffnete , wie Sie erklärt haben, war sie immer noch auf 3.0. Sehr frustrierend. Ehrlich gesagt hatte ich seit der Veröffentlichung von VS 16.3 und .NET Core 3.0 nichts anderes als seltsame, dunkle und vollständig aufhörbare Fehler und Probleme. Danke noch einmal!HTTP Error 500.30 - ANCM In-Process Start Failure
Nachricht aus meiner ursprünglichen Nachricht entfernt. Zuvor war es daher erforderlich, eine vollständig eigenständige Verteilung Ihrer Anwendung zu veröffentlichen. (Allerdings gibt es normalerweise eine Verzögerung von 2-3 Tagen zwischen dem Löschen einer neuen Version von .NET Core und der Integration in die Azure App Service- Umgebung. Dies ist daher hilfreich, um dies bei zukünftigen Updates zu berücksichtigen.)Projektordner öffnen;
Öffnen Sie die Datei FolderProfile.pubxml und ändern Sie Version 3.0 in 3.1
netcoreapp3.1
Erstellen Sie abschließend Ihre Anwendung neu, bevor Sie sie veröffentlichen
quelle
pubxml
manuellen Ändern der Datei, insbesondere angesichts der Dummheit, diese Werte über die Visual Studio 2019- GUI zu ändern . Ich habe diese Details in meine ursprüngliche Antwort aufgenommen, sodass diese Option explizit erläutert wird. Vielen Dank!Veränderung
funktioniert bei mir.
quelle
Microsoft.AspNetCore
Bibliotheken3.1.0
gemäß den Versionshinweisen zu Microsoft v3.1 aktualisiert werden . Ihr Ansatz ist möglicherweise eine gültige Lösung für ähnliche Probleme in ASP.NET Core 2.2 , vorausgesetzt, der Fehler wurde nicht wie in meinem Fall durch eine Nichtübereinstimmung zwischen Ihnencsproj
und denpubx
Dateien verursacht .