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

零下一度
Libérer: 2017-06-24 10:46:45
original
2295 Les gens l'ont consulté

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]
Copier après la connexion

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

dotnet publish -c release
Copier après la connexion

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"}}
Copier après la connexion

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();
}
Copier après la connexion

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.
Copier après la connexion

ou (nécessite des droits d'administrateur)

>setx ASPNETCORE_ENVIRONMENT "Development" /MSUCCESS: Specified value was saved.
Copier après la connexion

PowerShellCommande :

$Env:ASPNETCORE_ENVIRONMENT = "Prodction"
Copier après la connexion

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
Copier après la connexion

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.
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal