C# 运行时服务不再注入DNX控制台应用程序(RC1)
我曾经能够将运行时服务(如C# 运行时服务不再注入DNX控制台应用程序(RC1),c#,dependency-injection,asp.net-core,dnx,C#,Dependency Injection,Asp.net Core,Dnx,我曾经能够将运行时服务(如iaapplicationenvironment注入DNX控制台应用程序的Pogram类的构造函数中。但是,使用RC1的最新CI构建,服务不再被注入: public Program(IApplicationEnvironment env) { if (env == null) { // env is null. throw new ArgumentNullException(nameof(env)); } } D
iaapplicationenvironment
注入DNX控制台应用程序的Pogram
类的构造函数中。但是,使用RC1的最新CI构建,服务不再被注入:
public Program(IApplicationEnvironment env)
{
if (env == null)
{
// env is null.
throw new ArgumentNullException(nameof(env));
}
}
DNX平台希望与常规
程序.Main
入口点兼容。因此,他们删除了程序
类中的依赖注入
相反,您可以使用新的PlatformServices
类,该类提供对运行时服务的访问:
public Program()
{
var env = PlatformServices.Default.Application;
}
该类位于Microsoft.Extensions.PlatformAbstractions
命名空间中
像ILibraryExporter
和ICompilerOptionsProvider
这样的类型现在通过Microsoft.Extensions.CompilationAbstractions
命名空间中的类公开