Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für einen ASP.NET Core-Anwendungsveröffentlichungsbefehl

Beispiel für einen ASP.NET Core-Anwendungsveröffentlichungsbefehl

零下一度
零下一度Original
2017-06-24 10:46:452264Durchsuche

ASP.NET Core-Anwendungsfreigabebefehl:

dotnet publish [<PROJECT>] [-f|--framework] [-r|--runtime] [-o|--output] [-c|--configuration] [--version-suffix] [-v|--verbosity] [-h|--help]

Beispielbefehl veröffentlichen (im Verzeichnis bin/release/netcoreapp1.1/publish generiert):

dotnet publish -c release

oben Der Befehl gibt nicht an, dass EnvironmentName veröffentlicht werden soll. Was bedeutet das? Beispielsweise sind die appsettings.json-Konfiguration in der ASP.NET Core-Anwendung, die Testumgebung und die Produktionsumgebungskonfiguration unterschiedlich (z. B. die Datenbankverbindungszeichenfolge). Wenn wir den obigen Freigabebefehl verwenden, müssen wir auch die appsettings.json Wenn die Datei in Zukunft geändert werden muss, muss sie erneut veröffentlicht und aktualisiert werden, was sehr mühsam ist.

Die Lösung des oben genannten Problems ist sehr einfach. Geben Sie die Umgebungsvariable ASPNETCORE_ENVIRONMENT des Entwicklungscomputers oder Servers an, nachdem Sie beim Ausführen dotnet *.dll das Programm ASP.NET Core gestartet haben lädt dies automatisch Die appsettings.*.json-Datei, die der Umgebungsvariablen entspricht, z. B. appsettings.Production.json.

Beispiel für einen ASP.NET Core-Anwendungsveröffentlichungsbefehl

Wenn wir VS 2017 F5 zum Debuggen des Projekts verwenden, wird die Umgebungsvariable ASPNETCORE_ENVIRONMENT standardmäßig festgelegt, z. B. launchSettings.json im ASP. NET Core-Anwendung. Beispielkonfiguration:

"profiles": {"IIS Express": {  "commandName": "IISExpress",  "launchBrowser": true,  "launchUrl": "api/values",  "environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"  }},"AspNetCore.Samples": {  "commandName": "Project",  "launchBrowser": true,  "launchUrl": "api/values",  "environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"  },  "applicationUrl": "http://localhost:59522"}}

StartupBeispielkonfiguration:

public Startup(IHostingEnvironment env)
{var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
        .AddEnvironmentVariables();
    Configuration = builder.Build();
}

Weil in der obigen Konfiguration ASPNETCORE_ENVIRONMENT ist auf Development eingestellt, wir verwenden VS 2017 F5 zum Debuggen des Projekts und die appsettings.Development.json-Konfigurationsdatei unter dem Projekt wird geladen und verwendet. Wenn diese Datei nicht vorhanden ist, verwendet ASP.NET Core appsettings.jsonKonfigurationsdatei standardmäßig.

Wie legen wir dann die Umgebungsvariable ASPNETCORE_ENVIRONMENT auf dem Server fest? Es ist ganz einfach: Geben Sie einfach einen Befehl ein.

1. Windows-Servereinstellungen

Befehlszeile:

>setx ASPNETCORE_ENVIRONMENT "Development"SUCCESS: Specified value was saved.

oder (erfordert Administratorrechte)

>setx ASPNETCORE_ENVIRONMENT "Development" /MSUCCESS: Specified value was saved.

PowerShellBefehl:

$Env:ASPNETCORE_ENVIRONMENT = "Prodction"

Nachdem Sie den Umgebungsbefehl in Windows festgelegt haben, müssen Sie eine Befehlszeile erneut öffnen dotnet *.dll, um das Projekt zu starten, damit es wirksam wird.

2. MacOS/Linux-Servereinstellungen

Befehlszeile:

export ASPNETCORE_ENVIRONMENT=development

dotnet *.dllBeim Starten des Projekts können wir den aktuellen Stand sehen von Hosting environment, um zu überprüfen, ob es korrekt ist, Beispiel:

> dotnet AspNetCore.Samples.dllHosting environment: ProdtctionContent root path: C:\Users\yuezh\Desktop\Demo\AspNetCore.SamplesNow listening on: http://*:5003Application started. Press Ctrl+C to shut down.

Referenz:

  • dotnet-publish

  • Arbeiten mit mehreren Umgebungen

  • So richten Sie die Hosting-Umgebung in ASP.NET Core ein

Das obige ist der detaillierte Inhalt vonBeispiel für einen ASP.NET Core-Anwendungsveröffentlichungsbefehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn