2017-03-03 1 views
1

Ich habe ein ziemlich seltsames Problem mit der Bereitstellung meiner einfachen Anwendung in Azure als App Service. Die Anwendung ist ASP.NET Core und React Frontend. Der Einsatz Fluss sieht wie folgt aus:ASP.NET Core nach Veröffentlichung nicht in Visual Studio Team Services ausgeführt

  • I-Code, verpflichten und Push-to-Entwicklungszweig
  • Visual Studio Team Services nimmt die Änderungen und starten Prozess Aufbau: Build steps, zB Schrittprotokoll veröffentlichen: log
  • Dann Nach dem erfolgreichen Build nimmt der Release-Prozess die Artefakte auf und startet Azure deploy.
  • Als Ergebnis: alle schon vor ein paar Tagen gearbeitet hatte, aber jetzt ist web.config nicht mit IIS Integrations-Tool verwandelt, so dass ich in seinem ursprünglichen Zustand belassen werden:

<!-- 
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380 
    --> 

    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/> 
    </system.webServer> 
</configuration> 

Wenn Sie also versuchen, über URL auf den App-Service zuzugreifen, stürzt er mit dem Fehler 502 ab. Ich habe überprüft, indem ich auf die App-Service-Dateien zugegriffen habe und web.config manuell geändert habe, dass die Anwendung mit der richtigen web.config funktioniert. Mein project.json:

{ 
    "dependencies": { 
     "Autofac.Extensions.DependencyInjection": "4.0.0", 
     "AutoMapper": "5.2.0", 
     "AutoMapper.Extensions.Microsoft.DependencyInjection": "1.2.0", 
     "HumanAction.Historykon.Configuration": "1.0.0-*", 
     "HumanAction.Historykon.DataAccessLayer": "1.0.0-*", 
     "HumanAction.Historykon.Domain": "1.0.0-*", 
     "Microsoft.ApplicationInsights.AspNetCore": "2.0.0", 
     "Microsoft.AspNetCore.Cors": "1.0.1", 
     "Microsoft.AspNetCore.Mvc": "1.0.1", 
     "Microsoft.AspNetCore.Routing": "1.0.1", 
     "Microsoft.AspNetCore.Server.IISIntegration": "1.0.1", 
     "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
     "Microsoft.EntityFrameworkCore": "1.0.1", 
     "Microsoft.EntityFrameworkCore.Design": { 
      "version": "1.0.1", 
      "type": "build" 
     }, 
     "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", 
     "Microsoft.EntityFrameworkCore.Tools": { 
      "version": "1.0.0-preview4-final" 
     }, 
     "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.1", 
     "Microsoft.Extensions.Configuration.FileExtensions": "1.0.1", 
     "Microsoft.Extensions.Configuration.Json": "1.0.1", 
     "Microsoft.Extensions.Logging": "1.0.1", 
     "Microsoft.Extensions.Logging.Console": "1.0.1", 
     "Microsoft.Extensions.Logging.Debug": "1.0.1", 
     "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.1", 
     "Microsoft.NETCore.App": { 
      "version": "1.0.1", 
      "type": "platform" 
     } 
    }, 

    "tools": { 
      "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
          "version": "1.0.0-preview2-final" 
      } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "appsettings.Dev.json", 
     "appsettings.Qa.json", 
     "appsettings.Live.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

Die Sache ist die: Wenn ich die Anwendung lokal mit Visual Studio veröffentlichen, alles gut ist, ist die web.config richtig ist, die Anwendung funktioniert.

Endlich die Frage: was ist schiefgelaufen? Vorher würde ich gerne in dieser Version von SDK bleiben, aber wenn es keine andere Option gibt, werde ich eine Aktualisierung in Betracht ziehen. Vielen Dank für Anregungen!

+0

Haben Sie den Fehler am Ende Ihres Build-Protokolls bemerkt? '' 'Nicht behandelte Ausnahme: System.IO.FileNotFoundException: Datei oder Assembly konnte nicht geladen werden 'Microsoft.Extensions.CommandLineUtils, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = adb9793829ddae60'. Die angegebene Datei wurde vom System nicht gefunden. 2017-03-03T07: 20: 29.4468824Z bei Microsoft.AspNetCore.Server.IISIntegration.Tools.Program.Main (String [] args) 2017-03-03T07: 20: 30.4738821Z ## [Abschnitt] Fertigstellung: dotnet publish''' –

+0

Hey! Um ehrlich zu sein, habe ich das nicht bemerkt, nicht sicher warum. Warum fehlt diese Baugruppe? Ich hatte es vorher nicht in project.json aufgenommen und es funktionierte, nicht sicher, warum es jetzt ein Problem ist. Hast du irgendeine Idee? –

+0

Können Sie dieses Problem mit einem neuen einfachen Projekt reproduzieren? –

Antwort

0

Verwenden Sie stattdessen Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-preview2-final. Verwandtes Thema: Visual Studio Team Services asp.net core build for IIS

+0

Hey, ich benutze diese Version bereits. Werfen Sie einen Blick auf project.json –

+0

@RichardRahl Verwenden Sie Hosted-Agent oder On-Premise-Build-Agent? –

+0

starain-MSFT: Gehosteter Agent –

Verwandte Themen