Answers:
只需在Startup类中创建一个属性即可保留IHostingEnvironment。在您已经可以访问的Startup构造函数中设置属性,然后可以从ConfigureServices访问该属性
ConfigureServices
其中不可能?
ConfigureServices
,这是不可能的,因为该框架不像其他领域那样支持该特定方法的依赖注入(可能是因为您使用此方法配置依赖注入)。如Joe所述,在构造函数级别进行设置应该可以解决此问题。
从此处复制的问题标记为与此重复,并已删除。感谢A-构造函数。
如果要访问IHostingEnvironment
,ConfigureServices
则必须通过构造函数将其注入并存储以供以后访问ConfigureServices
:
public class Startup
{
public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
Configuration = configuration;
Environment = environment;
}
public IConfiguration Configuration { get; }
public IHostingEnvironment Environment { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
System.Console.WriteLine($"app: {Environment.ApplicationName}");
}
// rest omitted
}
environment
小写是小写的,而属性似乎是Environment
。
IHostingEnvironment
了.Net Core 3.0
吗?(我工作的一个“带回家的测试”的呼叫services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
里面的ConfigureServices()
方法和IHostingEnvironment工作正常。