2015-11-24 10 views
6

Uruchomiono aplikację konsoli asp.net 5, która od pewnego czasu jest publikowana w wielu środowiskach.Skąd pobrać DNX_APPBASE po aktualizacji RC1?

Jednak od czasu aktualizacji RC1 zmienna środowiskowa DNX_APPBASE, na której się opierałem dla lokalizacji config. (Environment) .json została usunięta.

Oto kod w pytaniu Console Application

ktoś wie co się stało z zmiennej środowiskowej DNX_APPBASE i gdzie mogę uzyskać takie informacje?

Alternatywnie, jakie są inne sposoby osiągnięcia tego samego rezultatu?

Odpowiedz

2

można dodać to do konstruktora dla Startup.cs

using Microsoft.Extensions.PlatformAbstractions; 

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

ale w RC1 to nie jest potrzebne, aby wywołać .SetBasePath w ogóle, więc można usunąć to.

+0

Zawarłem to, co sugerowałeś, ale nie trafiło ono w tę metodę. Myślałem, że był używany tylko w środowisku sieciowym, a aplikacja konsolowa została wprowadzona przez void Main? Czy muszę zmienić polecenie w project.json? – Kyle

+2

moje złe, uruchomienie jest tylko dla aplikacji internetowych. a co z var a = PlatformServices.Default.Application.ApplicationBasePath; –

+0

DNX_APPBASE był zawsze "wewnętrzny" i powinieneś używać interfejsów API w celu uzyskania dostępu do bazy aplikacji. – davidfowl

Powiązane problemy