comment définir L'environnement ASPNETCORE à prendre en compte pour la publication asp.net application principale?

quand je publie mon asp.net application web de base pour mon système de fichiers local, il prend toujours la variable production-config et ASPNETCORE_ENVIRONNEMENT avec la valeur = "Production".

comment et Où dois-je définir la valeur de la variable ASPNETCORE_ENVIRONNEMENT pour qu'elle soit prise en compte non seulement pour le débogage, mais aussi pour l'édition<!--4? j'ai déjà essayé les options suivantes sans succès:

  • dans windows les paramètres
  • .fichier pubxml
  • dans launchSettings.json
  • dans le projet.json
37
demandé sur Dario 2017-01-09 14:24:37

4 réponses

Option1:

pour définir la variable D'environnement ASPNETCORE_ENVIRONNEMENT dans windows,

ligne de Commande - setx ASPNETCORE_ENVIRONMENT "Development"

PowerShell -$Env:ASPNETCORE_ENVIRONMENT = "Development"

Pour les autres OS reporter ce - https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments

Option2:

si vous voulez définir ASPNETCORE_ENVIRONMENT en utilisant web.config puis Ajouter aspNetCore ce

<configuration>
  <!--
    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=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
      <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>
27
répondu Sanket 2017-01-09 15:33:35

Simple façon de le configurer dans Visual studio IDE.

Projet > Propriétés> Debug > variables d'Environnement

enter image description here

11
répondu Mark Macneil Bikeio 2017-09-24 12:09:31

vous devriez suivre le instructions fournies dans la documentation, en utilisant le web.config.

<aspNetCore processPath="dotnet"
        arguments=".\MyApp.dll"
        stdoutLogEnabled="false"
        stdoutLogFile="\?\%home%\LogFiles\aspnetcore-stdout">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
    <environmentVariable name="CONFIG_DIR" value="f:\application_config" />
  </environmentVariables>
</aspNetCore>

Notez que vous pouvez également définir d'autres variables d'environnement.

Le ASP.NET le Module Core vous permet de spécifier des variables d'environnement pour le processus spécifié dans l'attribut processPath en les spécifiant dans un ou plusieurs éléments d'un enfant environnementvariables élément de collecte sous le code aspNetCore élément. Les variables d'environnement définies dans cette section ont priorité sur le système variables d'environnement pour le processus.

7
répondu David Pine 2017-01-09 15:36:27

Avec la dernière version de dotnet cli (2.1.400 ou plus), vous pouvez définir cette propriété msbuild $(EnvironmentName) et publier tooling prendra soin D'ajouter ASPNETCORE_ENVIRONMENT au web.config avec le nom de l'environnement.

de plus, le support XDT est disponible à partir de 2.2.100-preview1.

exemple:https://github.com/vijayrkn/webconfigtransform/blob/master/README.md

1
répondu vijayrkn 2018-08-24 21:58:42