运行时服务不再注入DNX控制台应用程序(RC1)

我曾经能够将运行时服务(如IApplicationEnvironment注入DNX控制台应用程序的Pogram类的构造函数中。 但是,使用RC1的最新CI版本,服务不再被注入:

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

DNX平台希望与常规Program.Main入口点兼容。 因此,他们将dependency injection删除到Program类中。

相反,您可以使用新的PlatformServices类来提供对运行时服务的访问:

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

PlatformServices类位于Microsoft.Extensions.PlatformAbstractions命名空间中。

ILibraryExporterICompilerOptionsProvider等类型现在通过Microsoft.Extensions.CompilationAbstractions命名空间中的CompilationServices类公开。

>参考