我曾经能够将IApplicationEnvironment
之类的运行时服务注入到DNX控制台应用程序的Pogram
类的构造函数中。但是,使用RC1的最新CI版本,服务不再被注入:
public Program(IApplicationEnvironment env)
{
if (env == null)
{
// env is null.
throw new ArgumentNullException(nameof(env));
}
}
答案 0 :(得分:5)
DNX平台希望与常规Program.Main
入口点兼容。因此,他们将依赖注入删除到Program
类。
您可以使用新的PlatformServices
类来提供对运行时服务的访问:
public Program()
{
var env = PlatformServices.Default.Application;
}
PlatformServices
类位于Microsoft.Extensions.PlatformAbstractions
命名空间中。
ILibraryExporter
和ICompilerOptionsProvider
等类型现在通过Microsoft.Extensions.CompilationAbstractions
命名空间中的CompilationServices
类公开。