webentwicklung-frage-antwort-db.com.de

App für ASP.NET Core 2.1 Preview 2 Funktioniert nicht im Azure App Service

Ich habe meine ASP.NET Core 2.1 Preview-1-App auf Azure ausgeführt, seit diese Version verfügbar ist. Ich hatte die ASP.NET Core-Laufzeiterweiterungen über das Portal installiert, und es hat gut funktioniert.

Nachdem Microsoft ASP.NET Core 2.1 Preview-2 veröffentlicht hat, habe ich das Upgrade auf das SDK installiert. Meine Nuget-Pakete wurden aktualisiert, sodass ich die Preview-2-Versionen von allem habe. Siehe meine csproj-Datei unten: enter image description here

Ich habe auch die ASP.NET Core Runtime-Erweiterungen aus dem Azure App Service für meine App entfernt, die 2.1 Preview-1 anzeigt. Stattdessen installierte ASP.NET Core 2.1-Laufzeiten für x86 und x64 separat - siehe unten: enter image description here

Die App wurde kompiliert und in meinem Azure App-Service veröffentlicht. Ich erhalte jedoch Fehler. Zuerst bekam ich den 502.5 Fehler. Nun bekomme ich:

Die angegebene CGI-Anwendung hat einen Fehler festgestellt und der Server beendete den Prozess.

Was fehlt mir hier?

AKTUALISIEREN:

Wie in der Antwort vorgeschlagen, habe ich mein Ziel auf x86 gesetzt (um auf Nummer sicher zu gehen) - siehe unten:

enter image description here

Ich habe die Erweiterung und die einzelnen x86- und x64-Laufzeiten entfernt und nur das x86 mit Unterstützung für ASP.NET Core 2.1 preview-2 installiert - siehe unten: enter image description here

Ich habe die App mehrmals neu gestartet und bekomme immer noch 502.5.

Ich habe dann versucht, über die CLI-Befehlszeile eine Selbstbereitstellung durchzuführen, indem Sie den folgenden Befehl ausgeben:

dotnet publish -c Release -r win10-x64

Und ich erhalte folgende Fehlermeldung:

C:\Programm Dateien\dotnet\sdk\2.1.300-preview2-008530\Sdks\Microsoft.NET.Sdk\Ziele\Microsoft.NET.RuntimeIdentifierInference.targets (125,5): Fehler: Die RuntimeIdentifier-Plattform 'win10-x64' und die PlatformTarget 'x86' muss kompatibel sein.

Bedeutet dies, dass ich die x86-Version des SDK installiert habe und x86 anvisieren muss?

Ich hatte nicht die Hälfte der Mühe, die ich jetzt durchlaufe, indem ich von ASP.NET Core 2.0 zu 2.1 gehe !!!!

UPDATE 2: Lief einfach dotnet --info in der Kudu-Konsole. Wenn ich das richtig lese, habe ich nicht die richtige Laufzeit.

enter image description here

Update 3:

Ich denke, dieser Screenshot bestätigt, was ich gesagt habe . enter image description here

Update 4:

Ich habe die x86-Version von ASP.NET Core 2.1 Runtime installiert - siehe unten: enter image description here

Wenn ich dotnet --info in der Kudu-Konsole ausführt, erhalte ich Folgendes, was mich verwirrt. Ich sehe immer noch nicht die Version, die ich erwartet hatte:

enter image description here

Und wenn ich auf die URL stoße, bekomme ich immer noch 502.5 und dieselbe Meldung in der Kudu-Konsole, wenn ich dotnet MyApp.dll starte und mir mitteilt, dass die korrekte Version der Laufzeitumgebung nicht gefunden wird.

Wie bekomme ich die richtige Version? Ich dachte, die Installation über das Portal würde es tun.

12
Sam

Es ist uns gelungen, ASP.NET Core 2.1 RC1-Webanwendung im "eigenständigen" Bereitstellungsmodus für den Azure-App-Service zu veröffentlichen.

Plattformziel: Jede CPU

Hier sind die Paketreferenzen von unserem .csproj:

<PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-rc1-final" PrivateAssets="All" /> <PackageReference Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="2.1.0-rc1-final" />

2
Sergiy

Die Schritte, die ich unternommen habe, um diese Funktion zum Laufen zu bringen:

  • Entfernen Sie die 2.1-preview1 ASP.NET Core Runtime-Erweiterung.
  • Überprüfen Sie die Anwendungseinstellungen, um zu sehen, ob Sie 32-Bit oder 64-Bit verwenden.
  • Installieren Sie nur die entsprechende (32- oder 64-Bit) ASP.NET Core 2.1-Laufzeitumgebung.
  • Starten Sie die Web-App neu.

Ein Neustart ist wichtig - vor dem Neustart der .NET Core-Tools war die falsche Version und ich würde auch 502.5-Fehler erhalten.

Wenn Sie sowohl 32- als auch 64-Bit-Laufzeiten installiert haben, werde ich versuchen, diejenige zu entfernen, die Ihre Anwendung nicht benötigt, und die Web-App neu zu starten.

2
Kjetil Limkjær

Ich habe mein Projekt in asp.net core 2.1 Preview 2 in Azure bearbeitet Ich habe die folgenden Schritte ausgeführt:

  1. Die alte asp.net-Kernerweiterung wurde aus der Azure-App-Serviceerweiterung gelöscht
  2. Bei Verwendung von kudus wurden alle Dateien im Ordner wwwroot der Site gelöscht.
  3. Installierte die asp.net-Kernstandorterweiterung von Azure (siehe Abbildung unten) und startete den App-Service neu

     Azure Web App Site Extension

  4. Vor der Bereitstellung in Azure wurde die Veröffentlichungskonfigurationsoption wie in der nachstehenden Abbildung dargestellt verwendet:  Azure App Service Publish Configuration in VS 2017 15.7 Preview 3

Das ist es.

1

Hier ist das einzige, was für mich funktioniert zu haben scheint.

Ich habe eine eigenständige Bereitstellung mit durchgeführt

dotnet publish --self-contained -r win10-x64 -c Release

Ich musste dann eine manuelle Bereitstellung durchführen - in meinem Fall über FTP.

Ich möchte, dass dieses Problem behoben wird. Wenn es jedoch bei meiner nächsten Bereitstellung nicht behoben wird, erledige ich die Zip-Bereitstellung. Da meine App über ein ReactJs-Frontend verfügt, mussten Tausende von Dateien bereitgestellt werden, und FTP machte keinen großen Spaß!

Da dieser Ansatz nicht davon abhängt, was im Azure App Service installiert oder nicht installiert ist, ist dies eine viel einfachere Lösung.

Ich möchte trotzdem einfach auf "In Visual Studio veröffentlichen" klicken können!

UPDATE: Ich habe gerade eine Zip-Bereitstellung durchgeführt, und ich bekomme immer noch die Fehler, die ich erhalten habe, obwohl die Zip-Bereitstellung erfolgreich war. Also ist etwas immer noch nicht richtig!  enter image description here

0
Sam

Ich hatte ein Problem mit einer komplexen Website. Daher habe ich ein einfaches erstellt, bei dem nur die App-Datei auf dieselbe Version gesetzt war:

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"  Version="2.1.3" />
  </ItemGroup>

und dann, aus dem Beispiel von Tim Diekmann, habe ich nichts anderes getan, als den Bereitstellungsmodus in der Azure-Publishing-Konfiguration Einstellungen in Self-Contained - zu ändern.

0
CrispinH

Ich hatte das gleiche Problem. Nach 2 Stunden habe ich es endlich behoben.

Hier ist meine Konfiguration:

Erweiterungen:

 enter image description here

Konsole dotnet --info:

 enter image description here

Console kudu dotnet --version befehl:

 enter image description here

a) Denken Sie daran, Ihre App nach der Erweiterungsinstallation neu zu starten.

b) Löschen Sie Ihren wwwroot-Ordner aus alten Dateien und veröffentlichen Sie ihn erneut.

0
Norbert Pisz

Versuchen Sie, eine global.json-Datei mit folgendem Inhalt in Ihrem Projektordner hinzuzufügen:

{
  "sdk": {
    "version": "2.1.300-preview2-008530"
  }
}

Starten Sie danach Ihre App neu, um auf der sicheren Seite zu sein.

0
Matias Quaranta