Pubblica su IIS, impostando la variabile di ambiente


134

Leggendo queste due domande / risposte sono stato in grado di eseguire un'app Asp.net 5 sul server IIS 8.5.

Asp.net vNext beta anticipata pubblica su IIS in Windows Server

Come configurare un'app MVC6 per funzionare su IIS?

Il problema è che l'app Web continua a utilizzare env.EnvironmentNamecon valore Developmentanche se eseguita su IIS.

Inoltre, voglio eseguire due versioni dello stesso Web (Staging, Production) sullo stesso server, quindi ho bisogno di un metodo per impostare la variabile per ciascun Web separatamente.

Come fare questo?


4
Uno ha in genere tre ambienti di rete di sviluppo, gestione temporanea e produzione. Il web server è in un ambiente. Pertanto, l'impostazione della variabile di ambiente di sistema per il server non è in genere una vera limitazione. Si può ancora usare Properties\launchSettings.jsonper simulare un altro ambiente per il debug in Visual Studio.
Oleg,

Risposte:


286

Questa risposta è stata originariamente scritta per ASP.NET Core RC1. In RC2 ASP.NET Core è passato dal gestore httpPlafrom generico a uno specifico aspnetCore. Si noti che il passaggio 3 dipende dalla versione di ASP.NET Core in uso.

Risulta che le variabili di ambiente per i progetti ASP.NET Core possono essere impostate senza dover impostare variabili di ambiente per l'utente o creare più voci di comando.

  1. Vai alla tua applicazione in IIS e scegli Configuration Editor.
  2. Selezionare Configuration Editor
  3. Scegli system.webServer/aspNetCore(RC2 e RTM) o system.webServer/httpPlatform(RC1) nella Sectioncasella combinata
  4. Scegli Applicationhost.config ...in Fromcombobox.
  5. Fare clic con il tasto destro enviromentVariablessull'elemento, selezionare 'environmentVariables' element, quindi Edit Items. inserisci qui la descrizione dell'immagine
  6. Imposta le variabili di ambiente.
  7. Chiudi la finestra e fai clic su Applica.
  8. Fatto

In questo modo non è necessario creare utenti speciali per il pool o creare voci di comandi extra in project.json. Inoltre, l'aggiunta di comandi speciali per ogni ambiente interrompe "costruisci una volta, distribuisci molte volte" come dovrai chiamare dnu publishseparatamente per ogni ambiente, invece di pubblicare una volta e distribuire l'artefatto risultante molte volte.

Aggiornato per RC2 e RTM, grazie a Mark G e tredder.


12
Per il passaggio 3 ho usato system.webServer/aspNetCoreinvece.
Mark G,

1
Le variabili di ambiente di sistema sono ereditate dai processi all'avvio. Quindi se modifichi alcune variabili env durante l'esecuzione della tua applicazione non saresti in grado di vedere queste modifiche di default. Per rendere effettive le modifiche di sistema, è necessario almeno riavviare il sito, forse il pool o persino il servizio IIS, a seconda di come IIS crea i processi. Questo deve essere testato.
NickAb

7
Le impostazioni aggiunte tramite l'Editor di configurazione non verranno cancellate alla distribuzione successiva?
Brad Gardner,

11
@ brad-gardner se vengono apportate modifiche ad Applicationhost.config anziché a web.config, le modifiche verranno mantenute tra le distribuzioni.
NickAb,

15
Funziona con Asp.Net Core 2.0
Frank Cannon,

34

Aggiorna web.config con una sezione <environmentVariables> in <aspNetCore>

<configuration>
  <system.webServer>
    <aspNetCore .....>
      <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>

O per evitare di perdere questa impostazione quando si sovrascrive web.config, apportare modifiche simili a applicationHost.config specificando la posizione del sito come suggerisce @NickAb.

<location path="staging.site.com">
    <system.webServer>
        <aspNetCore>
            <environmentVariables>
                <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" />
            </environmentVariables>
        </aspNetCore>
    </system.webServer>
</location>
<location path="production.site.com">
    <system.webServer>
        <aspNetCore>
            <environmentVariables>
                <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
            </environmentVariables>
        </aspNetCore>
    </system.webServer>
</location>

2
Questo è diverso in un modo in cui web.config fa parte del progetto ed è aggiornato in VCS. Se hai più ambienti, come prod, staging, dev, allora avrai bisogno di un modo per trasformare web.config per ognuno. La modifica di ApplicationHost.config in IIS ha effetto solo su questo IIS. In modo da poter avere web.config singolo nel VCS e variabili di ambiente specifiche di IIS che sovrascrivono le variabili web.config. ApplicationHost.config può essere modificato in modo programmatico utilizzando PowerShell iis.net/learn/manage/powershell/…
NickAb

Grazie @NickAb, che evita di dover aggiornare web.config ad ogni distribuzione. Ho aggiornato la mia risposta.
Trevor Daniels,

Sto avendo problemi a farlo da PowerShell Continuo Target configuration object '/system.webServer/aspNetCore/environmentVariables/environmentVariable is not found ... normalmente a impostare alcune variabili. Scriverei qualcosa del genere: Set-WebConfigurationProperty -PSPath IIS:\ -location example.com -filter /system.webServer/aspNetCore/environmentVariables/environmentVariable -name ASPNETCORE_ENVIRONMENT -value Staging cosa mi sto perdendo?
Christian,

Sono tornato a quello che sapevo e usato appcmdinvece.
Christian,

@Christian, dai un'occhiata a questa risposta: stackoverflow.com/a/50869935/33533 Il nome e il valore della variabile d'ambiente vanno in una tabella hash, quindi dal tuo esempio sarebbeSet-WebConfigurationProperty -PSPath IIS:\ -Location example.com -Filter /system.webServer/aspNetCore/environmentVariables -Name . -Value @{ Name = 'ASPNETCORE_ENVIRONMENT'; Value = 'Staging' }
Curtis Acquista

21

Modifica: dalle versioni RC2 e RTM, questo consiglio non è aggiornato. Il modo migliore che ho trovato per ottenere questo risultato nella versione è modificare le seguenti sezioni web.config in IIS per ciascun ambiente:

system.webServer/aspNetCore:

Modifica la voce environmentVariable e aggiungi un'impostazione della variabile di ambiente:

ASPNETCORE_ENVIRONMENT : < Your environment name >


In alternativa all'approccio di drpdrp, puoi fare quanto segue:

  • In project.json, aggiungi i comandi che passano la variabile ASPNET_ENV direttamente a Kestrel:

    "commands": {
        "Development": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Development",
        "Staging": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Staging",
        "Production": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Production"
    }
    
  • Durante la pubblicazione, utilizzare l' --iis-commandopzione per specificare un ambiente:

    dnu publish --configuration Debug --iis-command Staging --out "outputdir" --runtime dnx-clr-win-x86-1.0.0-rc1-update1
    

Ho trovato questo approccio meno intrusivo rispetto alla creazione di utenti IIS extra.


11
Se stai pubblicando tramite msdeploy di Visual Studio. Quindi puoi inserire <IISCommand> Staging </IISCommand> nel tuo file .pubxml e verrà distribuito utilizzando il comando IIS specificato anche se non puoi specificarlo nell'interfaccia utente di pubblicazione.
Decano North

@DeanNorth - Questo è d'oro !! Funziona come un campione! Grazie per la condivisione!
S. Rasmussen,

17

Ho le mie applicazioni web (PRODUZIONE, STAGING, TEST) ospitate sul server Web IIS. Quindi non è stato possibile fare affidamento sulla variabile di ambiente di sistema dell'operatore ASPNETCORE_ENVIRONMENT, poiché l'impostazione su un valore specifico (ad esempio STAGING) ha effetto su altre applicazioni.

Come soluzione, ho definito un file personalizzato (envsettings.json) all'interno della mia soluzione visualstudio:

inserisci qui la descrizione dell'immagine

con il seguente contenuto:

{
  // Possible string values reported below. When empty it use ENV variable value or Visual Studio setting.
  // - Production
  // - Staging
  // - Test
  // - Development
  "ASPNETCORE_ENVIRONMENT": ""
}

Quindi, in base al mio tipo di applicazione (Produzione, Staging o Test) ho impostato questo file in modo concorde: supponendo che sto implementando l'applicazione TEST, avrò:

"ASPNETCORE_ENVIRONMENT": "Test"

Successivamente, nel file Program.cs basta recuperare questo valore e quindi impostare l'ambiente di webHostBuilder:

    public class Program
    {
        public static void Main(string[] args)
        {
            var currentDirectoryPath = Directory.GetCurrentDirectory();
            var envSettingsPath = Path.Combine(currentDirectoryPath, "envsettings.json");
            var envSettings = JObject.Parse(File.ReadAllText(envSettingsPath));
            var enviromentValue = envSettings["ASPNETCORE_ENVIRONMENT"].ToString();

            var webHostBuilder = new WebHostBuilder()
                .UseKestrel()
                .CaptureStartupErrors(true)
                .UseSetting("detailedErrors", "true")
                .UseContentRoot(currentDirectoryPath)
                .UseIISIntegration()
                .UseStartup<Startup>();

            // If none is set it use Operative System hosting enviroment
            if (!string.IsNullOrWhiteSpace(enviromentValue)) 
            { 
                webHostBuilder.UseEnvironment(enviromentValue);
            }

            var host = webHostBuilder.Build();

            host.Run();
        }
    }

Ricorda di includere envsettings.json in publishingOptions (project.json):

  "publishOptions":
  {
    "include":
    [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "envsettings.json",
      "appsettings.json",
      "appsettings*.json",
      "web.config"
    ]
  },

Questa soluzione mi rende libero di avere l'applicazione ASP.NET CORE ospitata sullo stesso IIS, indipendentemente dal valore della variabile di ambiente.


Molto bello, l'unica modifica che suggerisco è swap var currentDirectoryPath = Directory.GetCurrentDirectory (); per var currentDirectoryPath = PlatformServices.Default.Application.ApplicationBasePath; Questo è un modo molto più sicuro per ottenere la directory corrente.
Peter Kottas,

7
Che esperienza straordinaria, quando devi creare un altro livello di configurazioni per gestire le configurazioni di un framework
Kugel,

16

Dopo una lunga ricerca su Google ho trovato una soluzione funzionante, che consiste in due passaggi.

Il primo passaggio consiste nell'impostare ASPNET_ENV della variabile di ambiente di sistema su Production e riavviare Windows Server . Successivamente, tutte le app Web ottengono il valore "Produzione" come EnvironmentName.

Il secondo passaggio (per abilitare il valore "Staging" per la Web di gestione temporanea) è stato piuttosto più difficile far funzionare correttamente, ma eccolo qui:

  1. Crea un nuovo utente di Windows, ad esempio StagingPool sul server.
  2. Per questo utente, crea una nuova variabile utente ASPNETCORE_ENVIRONMENT con valore 'Staging' (puoi farlo accedendo come questo utente o tramite regedit)
  3. Torna come amministratore nel gestore IIS, trova il pool di applicazioni in cui è in esecuzione il Web di gestione temporanea e in Impostazioni avanzate imposta Identità su StagingPool utente .
  4. Impostare anche Carica profilo utente su true , quindi vengono caricate le variabili di ambiente. <- molto importante!
  5. Assicurarsi che StagingPool disponga dei diritti di accesso alla cartella Web e di Interrompi e avvia il pool di applicazioni.

Ora il Web di staging dovrebbe avere EnvironmentName impostato su "Staging".

Aggiornamento: in Windows 7+ esiste un comando che può impostare variabili di ambiente dal prompt CMD anche per un utente specificato. Questo output aiuta più campioni:

>setx /?

1
Sembra che in ASP.NET 5 RC1, la variabile di ambiente sia stata modificata in Hosting: Environment.
Grady Werner,

Come impostare "Carica profilo utente" su true quando lo distribuiamo in App Web di Azure?
Puneet Ghanshani,

@PunitGanshani Come ho capito, c'è una sezione "impostazioni dell'applicazione" nel portale azzurro per l'app Web in cui è possibile impostare coppie chiave / valore ambiente: azure.microsoft.com/en-us/documentation/articles/…
drpdrp

@GradyWerner Per RC2 lo stanno cambiando (per ora) in ASPNET_ENVIRONMENT ;-)
b.pell

1
@ b.pell Sembra che ora sia ASPNETCORE_ENVIRONMENT :)
Mark G

11

In alternativa puoi passare il desiderato ASPNETCORE_ENVIRONMENTnel comando dotnet publishing come argomento usando:

/p:EnvironmentName=Staging

per esempio:

dotnet publish /p:Configuration=Release /p:EnvironmentName=Staging

Questo genererà il web.config con l'ambiente corretto specificato per il tuo progetto:

<environmentVariables>
  <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" />
</environmentVariables>

9

Oltre alle opzioni sopra menzionate, ci sono un paio di altre soluzioni che funzionano bene con le distribuzioni automatizzate o richiedono meno modifiche alla configurazione.

1. Modifica del file di progetto (.CsProj)

MSBuild supporta la EnvironmentNameproprietà che può aiutare a impostare la variabile di ambiente corretta in base all'ambiente che si desidera distribuire. Il nome dell'ambiente verrà aggiunto in web.config durante la fase di pubblicazione.

Basta aprire il file di progetto (* .csProj) e aggiungere il seguente XML.

<!-- Custom Property Group added to add the Environment name during publish
  The EnvironmentName property is used during the publish for the Environment variable in web.config
  -->
  <PropertyGroup Condition=" '$(Configuration)' == '' Or '$(Configuration)' == 'Debug'">
    <EnvironmentName>Development</EnvironmentName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' != '' AND '$(Configuration)' != 'Debug' ">
    <EnvironmentName>Production</EnvironmentName>
  </PropertyGroup>

Il codice sopra aggiungerebbe il nome dell'ambiente come Developmentper la configurazione di debug o se non viene specificata alcuna configurazione. Per qualsiasi altra configurazione, il nome dell'ambiente si trova Productionnel file web.config generato. Maggiori dettagli qui

2. Aggiunta della proprietà EnvironmentName nei profili di pubblicazione.

Possiamo aggiungere la <EnvironmentName>proprietà anche nel profilo di pubblicazione. Apri il file del profilo di pubblicazione che si trova in Properties/PublishProfiles/{profilename.pubxml}Questo imposterà il nome dell'ambiente in web.config quando il progetto verrà pubblicato. Maggiori dettagli qui

<PropertyGroup>
  <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

3. Opzioni della riga di comando utilizzando dotnet publishing

Inoltre, possiamo passare la proprietà EnvironmentNamecome opzione della riga di dotnet publishcomando al comando. Il comando seguente includerebbe la variabile di ambiente come Developmentnel file web.config.

dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development


7

Per estendere la risposta di @ tredder è possibile modificare l'ambienteVariabili usando appcmd

messa in scena

%windir%\system32\inetsrv\appcmd set config "staging.example.com" /section:system.webServer/aspNetCore /+environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Staging'] /commit:APPHOST

Produzione

%windir%\system32\inetsrv\appcmd set config "example.com" /section:system.webServer/aspNetCore /+environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Production'] /commit:APPHOST


Ecco come realizzare la stessa cosa con Powershell su un server di build senza IIS installato. gist.github.com/markarnott/c4aec1fc544fe89e2bd21f3f00d78933
Mark Arnott,

Specificando "staging.example.com" o "example.com" si applicherà la variabile solo a quei siti Web specifici. Se si omette, verrà creata una variabile globale per tutti i siti Web sul server.
cane mortale,

6

Cosa devi sapere in un unico posto:

  • Affinché le variabili di ambiente abbiano la precedenza su tutte le impostazioni di configurazione, devono avere il prefisso ASPNETCORE_.
  • Se si desidera abbinare i nodi figlio nella configurazione JSON, utilizzare :come separatore. Se la piattaforma non consente i due punti nelle chiavi delle variabili di ambiente, utilizzare __invece.
  • Vuoi che le tue impostazioni finiscano ApplicationHost.config. L'uso dell'Editor di configurazione IIS farà sì che i tuoi input vengano scritti nell'applicazione Web.confige verranno sovrascritti con la distribuzione successiva!
  • Per la modifica ApplicationHost.config, si desidera utilizzare appcmd.exeper assicurarsi che le modifiche siano coerenti. Esempio:%systemroot%\system32\inetsrv\appcmd.exe set config "Default Web Site/MyVirtualDir" -section:system.webServer/aspNetCore /+"environmentVariables.[name='ASPNETCORE_AWS:Region',value='eu-central-1']" /commit:site

  • I caratteri che non sono sicuri per l'URL possono essere salvati come Unicode, come %u007bper la parentesi graffa sinistra.

  • Per elencare le impostazioni correnti (combinate con i valori di Web.config): %systemroot%\system32\inetsrv\appcmd.exe list config "Default Web Site/MyVirtualDir" -section:system.webServer/aspNetCore
  • Se si esegue il comando per impostare più volte una chiave di configurazione per la stessa chiave, verrà aggiunta più volte! Per rimuovere un valore esistente, utilizzare qualcosa di simile %systemroot%\system32\inetsrv\appcmd.exe set config "Default Web Site/MyVirtualDir" -section:system.webServer/aspNetCore /-"environmentVariables.[name='ASPNETCORE_MyKey',value='value-to-be-removed']" /commit:site.

1
notare che con /commit:sitele modifiche sono scritte nel web.config, al fine di salvarle in quello che ApplicationHost.configsi dovrebbe usare/commit:apphost
Angel Yordanov

-section:system.webServer/aspNetCore /-"environmentVariables.(con meno per rimuovere la variabile di ambiente) non può essere eseguito durante la pipeline di rilascio di Azure. L'errore è hresult:80070032, message:Command execution failed. Comunque clear config "Default Web Site/$(webSiteName)" -section:system.webServer/aspNetCore /commit:sitefunziona benissimo. Cancella l'intera sezione aspNetCore per il sito Web ma non è un problema poiché è parametrizzato durante il rilascio.
oleksa,

6

Simile ad altre risposte, volevo assicurarmi che le mie impostazioni di ambiente ASP.NET Core 2.1 persistessero per tutte le distribuzioni, ma si applicavano solo al sito specifico.

Secondo la documentazione di Microsoft, è possibile impostare la variabile di ambiente nel pool di app utilizzando il seguente comando PowerShell in IIS 10:

$appPoolName = "AppPool"
$envName = "Development"
cd "$env:SystemRoot\system32\inetsrv"
.\appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='$appPoolName'].environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='$envName']" /commit:apphost

Purtroppo devo ancora usare IIS 8.5 e pensavo di essere sfortunato. Tuttavia, è ancora possibile eseguire un semplice script PowerShell per impostare un valore variabile di ambiente specifico del sito per ASPNETCORE_ENVIRONMENT:

Import-Module -Name WebAdministration
$siteName = "Site"
$envName = "Development"
Set-WebConfigurationProperty -PSPath IIS:\ -Location $siteName -Filter /system.webServer/aspNetCore/environmentVariables -Name . -Value @{ Name = 'ASPNETCORE_ENVIRONMENT'; Value = $envName }

5

La soluzione @tredder con la modifica di applicationHost.config è quella che funziona se si trovano diverse applicazioni all'interno di directory virtuali su IIS.

Il mio caso è:

  • Ho un progetto API e un progetto APP , sotto lo stesso dominio, collocati in diverse directory virtuali
  • La pagina principale XXX non sembra propagare la variabile ASPNETCORE_ENVIRONMENT ai suoi figli nelle directory virtuali e ...
  • ... Non riesco a impostare le variabili all'interno della directory virtuale come descritto da @NickAb (errore ottenuto La richiesta non è supportata. (Eccezione da HRESULT: 0x80070032) durante il salvataggio delle modifiche in Configuration Editor):
  • Accedere a applicationHost.config e creare manualmente nodi come questo:

    <location path="XXX/app"> <system.webServer> <aspNetCore> <environmentVariables> <clear /> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" /> </environmentVariables> </aspNetCore> </system.webServer> </location> <location path="XXX/api"> <system.webServer> <aspNetCore> <environmentVariables> <clear /> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" /> </environmentVariables> </aspNetCore> </system.webServer> </location>

e il riavvio di IIS ha fatto il lavoro.


0

Per ottenere i dettagli sull'errore ho dovuto aggiungere ASPNETCORE_ENVIRONMENTla variabile di ambiente per il Pool di applicazioni corrispondente system.applicationHost/applicationPools .

Nota: l'applicazione Web nel mio caso era ASP.NET Core 2un'applicazione web ospitata su IIS 10. Può essere eseguito tramite Configuration Editorin IIS Manager(consultare Modifica delle raccolte con l'editor di configurazione per capire dove trovare questo editor IIS Manager).


0

Ho creato un repository per pubblicare IIS con la configurazione dell'ambiente in Web.config.

https://github.com/expressiveco/AspnetCoreWebConfigForEnvironment

  • Impostare
    • Ottieni le sezioni dai file .csproj e .user.csproj nei file del tuo progetto.
    • Ottieni i file MyAspNetEnvironment.props, web.development.config e web.production.config.
  • Configurazione
    • Modificare il valore della proprietà ASPNETCORE_ENVIRONMENT in user.csproj in modo pertinente.

Ciò non sembra fornire una risposta di qualità alla domanda. Modifica la tua risposta aggiungendo i dettagli generali di questa soluzione o semplicemente rimuovila e pubblicala come commento alla domanda. Grazie!
sɐunıɔ ןɐ qɐp,

0

Ho modificato la risposta che viene data a @Christian Del Bianco . Ho cambiato il processo per .net core 2 e superiore come file project.json ora assoluto.

  1. Innanzitutto, crea il file appsettings.json nella directory principale. con il contenuto

      {
         // Possible string values reported below. When empty it use ENV 
            variable value or Visual Studio setting.
         // - Production
         // - Staging
         // - Test
        // - Development
       "ASPNETCORE_ENVIRONMENT": "Development"
     }
    
  2. Quindi crea un altro due file di impostazioni appsettings.Development.json e appsettings.Production.json con la configurazione necessaria.

  3. Aggiungi il codice necessario per impostare l'ambiente nel file Program.cs .

    public class Program
    {
    public static void Main(string[] args)
    {
        var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
    
      ***var currentDirectoryPath = Directory.GetCurrentDirectory();
        var envSettingsPath = Path.Combine(currentDirectoryPath, "envsettings.json");
        var envSettings = JObject.Parse(File.ReadAllText(envSettingsPath));
        var enviromentValue = envSettings["ASPNETCORE_ENVIRONMENT"].ToString();***
    
        try
        {
            ***CreateWebHostBuilder(args, enviromentValue).Build().Run();***
        }
        catch (Exception ex)
        {
            //NLog: catch setup errors
            logger.Error(ex, "Stopped program because of setup related exception");
            throw;
        }
        finally
        {
            NLog.LogManager.Shutdown();
        }
    }
    
    public static IWebHostBuilder CreateWebHostBuilder(string[] args, string enviromentValue) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
            })
            .UseNLog()
            ***.UseEnvironment(enviromentValue);***
    

    }

  4. Aggiungi envsettings.json al tuo file .csproj per la copia nella directory pubblicata.

       <ItemGroup>
            <None Include="envsettings.json" CopyToPublishDirectory="Always" />
        </ItemGroup>
    
  5. Ora cambia semplicemente ASPNETCORE_ENVIRONMENT come desideri nel file envsettings.json e pubblicato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.