2015-11-24 4 views
6

È stato eseguito un programma di console asp.net 5 che è stato pubblicato su più ambienti per un po 'di tempo.Dove recuperare DNX_APPBASE dopo l'aggiornamento RC1?

Tuttavia, dall'aggiornamento RC1 è stata rimossa la variabile ambientale DNX_APPBASE a cui mi sono basato per la posizione di configurazione (ambiente) .json.

Ecco il codice in questione Console Application

Qualcuno sa che fine ha fatto la variabile ambientale DNX_APPBASE e dove posso ottenere queste informazioni da?

In alternativa, quali sono gli altri modi per ottenere lo stesso risultato?

risposta

2

si potrebbe aggiungere questo nel costruttore per Startup.cs

using Microsoft.Extensions.PlatformAbstractions; 

public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) 
{ 
    // Setup configuration sources. 
    var builder = new ConfigurationBuilder() 
     .SetBasePath(appEnv.ApplicationBasePath) 
     .... 
} 

ma in RC1 non è necessario chiamare .SetBasePath a tutti, quindi è possibile rimuovere questo.

+0

Incluso come suggerito, ma non ha colpito il metodo. Pensiero che è stato utilizzato solo in un ambiente web e l'Applicazione Console è stata immessa tramite il server principale? Devo cambiare il comando in project.json? – Kyle

+2

il mio male, l'avvio è solo per le applicazioni web. che dire di var a = PlatformServices.Default.Application.ApplicationBasePath; –

+0

DNX_APPBASE era sempre "interno" e avresti dovuto utilizzare le API per accedere alla base di applicazioni. – davidfowl