Maison >développement back-end >Tutoriel C#.Net >Exemple de commande de publication d'application ASP.NET Core

Exemple de commande de publication d'application ASP.NET Core

零下一度
零下一度original
2017-06-24 10:46:452310parcourir

Commande de publication de l'application ASP.NET Core :

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

Publier un exemple de commande (généré dans le répertoire bin/release/netcoreapp1.1/publish) :

dotnet publish -c release

au-dessus du la commande ne précise pas EnvironmentName à publier. Qu'est-ce que cela signifie ? Par exemple, la configuration appsettings.json dans l'application ASP.NET Core, l'environnement de test et la configuration de l'environnement de production sont différents (comme la chaîne de connexion à la base de données). Si nous utilisons la commande release ci-dessus, nous devons également copier manuellement le appsettings.json. 🎜> de différents environnements. Si le fichier doit être modifié à l'avenir, il devra être à nouveau publié et mis à jour, ce qui est très gênant.

Comment résoudre le problème ci-dessus est très simple. Spécifiez la variable d'environnement ASPNETCORE_ENVIRONMENT de la machine de développement ou du serveur. Après avoir défini la variable d'environnement, lors de l'exécution de dotnet *.dll pour démarrer le programme, ASP.NET Core. chargera automatiquement ce fichier appsettings.*.json correspondant à la variable d'environnement, telle que appsettings.Production.json.

Exemple de commande de publication d'application ASP.NET Core

En fait, lorsque nous utilisons VS 2017 F5 pour déboguer le projet, la variable d'environnement ASPNETCORE_ENVIRONMENT sera définie par défaut, comme launchSettings.json dans l'ASP. NET Core. Exemple de configuration :

"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"}}

StartupExemple de configuration :

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();
}

Car dans la configuration ci-dessus, ASPNETCORE_ENVIRONMENT est défini sur Development, nous utilisons VS 2017 F5 pour déboguer le projet, et le fichier de configuration appsettings.Development.json sous le projet sera chargé et utilisé si ce fichier n'existe pas, ASP.NET Core utilisera le. appsettings.json fichier de configuration par défaut.

Alors comment définir la variable d'environnement ASPNETCORE_ENVIRONMENT sur le serveur ? C'est très simple, il suffit de taper une commande.

1. Paramètres du serveur Windows

Ligne de commande :

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

ou (nécessite des droits d'administrateur)

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

PowerShellCommande :

$Env:ASPNETCORE_ENVIRONMENT = "Prodction"

Après avoir défini la commande d'environnement dans Windows, vous devez rouvrir une ligne de commande dotnet *.dll pour démarrer le projet pour qu'il soit efficace.

2. Paramètres du serveur MacOS/Linux

Ligne de commande :

export ASPNETCORE_ENVIRONMENT=development

dotnet *.dllAu démarrage du projet, nous pouvons voir le courant de Hosting environment pour vérifier si c'est correct, exemple :

> 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.

Référence :

  • dotnet-publish

  • Travailler avec plusieurs environnements

  • Comment définir l'environnement d'hébergement dans ASP.NET Core

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn