ASP.NET 5类库中的Startup.cs

时间:2015-07-25 20:09:50

标签: c# asp.net-mvc asp.net-core-mvc

我在ASP.NET5应用程序中创建了一个ASP.NET类库。我想添加#links { border: 1px solid black; width: 400px; height: 400px; box-shadow: 1px 1px 1 black; overflow: auto; position: relative; } 文件,以便从.json(ConnectionString)文件加载一些配置,以便在项目中使用它并将其添加到DI。然后我想将Startup.cs注入同一项目中的AppSettings。但这不起作用,似乎Startup类中的代码永远不会被执行。

DbContext注入AppSettings会抛出异常

DbContext

的DbContext

InvalidOperationException: Unable to resolve service for type 'Beo.Dal.Properties.AppSettings' while attempting to activate 'Beo.Dal.DataContexts.ApplicationDbContext'.

我是否想念某事或者我错了?我在MVC项目中已经有一个private static bool IsCreated; private AppSettings AppSettings; public ApplicationDbContext(AppSettings settings) { AppSettings = settings; if (!IsCreated) { Database.AsRelational().ApplyMigrations(); IsCreated = true; } } ,它运行正常。我可以在课堂图书馆中使用它吗?如果不是我应该怎么加载.json?

这就是我实际在里面做的事情:

Startup.cs

1 个答案:

答案 0 :(得分:3)

您不能拥有第二个Startup.cs文件,因为类库不是可以启动的项目。您应该做的是利用依赖注入并将DbContext添加到服务中。现在,当您需要为您的存储库提供DbContext时,它已准备就绪。

核心http://docs.asp.net/en/latest/fundamentals/dependency-injection.html#using-framework-provided-services

的DI文档中有一个示例