web-dev-qa-db-ger.com

Bereitstellen von ASP.net Core 2.0 in Azure

Ich habe eine ASP.net Core 1.1-App mit den folgenden Schritten auf ASP.net Core 2.0 aktualisiert:

  • Das Target Framework wurde auf 2.0 geändert
  • Alle Nugget-Pakete wurden aktualisiert

Jetzt wird meine automatische Bereitstellung von git ausgeführt und sagt, dass sie erfolgreich ist, die App jedoch nicht ausgeführt wird. Ich erhalte folgende Fehlermeldung:

HTTP Error 502.5 - Process Failure

Ich habe auch einen separaten Slot für die Bereitstellung von Web-Apps hinzugefügt und versucht, ihn dort bereitzustellen und trotzdem das gleiche Ergebnis zu erzielen. Ich habe auch versucht, es manuell zu langsam und ohne Änderungen bereitzustellen. 

12
Jonathan

Ich musste Folgendes zu all den .csproj-Dateien in der Lösung hinzufügen

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
0
Jonathan

Die akzeptierte Antwort hat das Problem für mich nicht gelöst.

Erforderliche Schritte:

Starten Sie die Azure Console in der App, löschen Sie den Inhalt des Ordners "wwwroot" und stellen Sie ihn erneut bereit.

RMDIR wwwroot /S /Q

Auch wenn Sie die Application Insights-Erweiterung in Ihrer App installiert haben. Beim Start der App erhalten Sie eine Ausnahme, die besagt, dass sie nicht gefunden werden kann.

Um diesen Fehler zu beheben, installieren Sie die Application Insights-Erweiterung erneut vom Erweiterungs-Blade und starten Sie die App erneut.

Das Problem mit dem Ordner wwwroot ist, dass die alten Core 1.1-Dateien nicht überschrieben werden. Das Entfernen des Inhalts des Verzeichnisses behebt das Problem.

5
code

Ich hatte das gleiche Problem, das durch Dateien verursacht wurde, die von einer früheren .NET Core 1.1-Bereitstellung übrig waren. Sie können dies am einfachsten beheben, indem Sie beim Veröffentlichen in Azure von VS unter "Datei-Veröffentlichungsoptionen" in den Veröffentlichungseinstellungen "Weitere Dateien am Ziel entfernen" aktivieren.

 File Publish Options

1
Stefan

Dieses Problem tritt auch bei Verwendung von DevOps Pipeline für den Code auf, der auf Dotnet Core 2.1 abzielt. Dies liegt daran, dass Azure ab dem heutigen 10/2 DotNetCore 3.0 als Standardlaufzeit verwendet (zumindest sieht es so aus). Um dieses Problem in der devops-Pipeline zu beheben, müssen Sie das SDK installieren

Yaml-Code:

 steps:
 - task: [email protected]
  displayName: 'Install Core 2.1'
inputs:
  version: 2.2.104

PS: Dies sagt mir, dass Sie SDK auch auf dem Zielcomputer installieren müssen, damit Dotnet in der richtigen Version kompiliert werden kann. (Azure oder Windows Server, je nachdem, welches Ziel Sie haben)

0
Apurv Ghai