2015-10-27 51 views
3

我曾經能夠將運行時服務(如IApplicationEnvironment)注入到DNX控制檯應用程序的Pogram類的構造函數中。然而,使用RC1的最新CI構建,服務不再會注入:運行時服務不再注入DNX控制檯應用程序(RC1)

public Program(IApplicationEnvironment env) 
{ 
    if (env == null) 
    { 
     // env is null. 
     throw new ArgumentNullException(nameof(env)); 
    } 
} 

回答

5

的DNX平臺,希望能與常規Program.Main切入點兼容。因此他們刪除了依賴注入類到Program類。

,不要成爲囚,您可以使用新的PlatformServices類可用於訪問運行時服務:

public Program() 
{ 
    var env = PlatformServices.Default.Application; 
} 

PlatformServices類生活在Microsoft.Extensions.PlatformAbstractions命名空間。

類似ILibraryExporterICompilerOptionsProvider現在通過Microsoft.Extensions.CompilationAbstractions命名空間中的CompilationServices類暴露。

> Reference

相關問題