我有一个ASP NET CORE项目,我有一个连接字符串,我的dbcontext在.net 4.52类库项目中。我想知道如何从asp net core项目访问连接字符串。
asp net core - appsettings.json:
"ConnectionStrings": {
"MyConnectionString": "Data Source=.\\mydb;Initial Catalog=mydb;User Id=myuser;Password=mypassword; MultipleActiveResultSets=true"
}, ...
我的dbContext
:
public MyContext() : base("name=MyConnectionString")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Migrations.Configuration>());
}
public MyContext(string connString) : base(connString)
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Migrations.Configuration>());
}
当我运行应用程序时,我收到错误:在应用程序配置文件中找不到名为MyConnectionString
的连接字符串。即使我将连接字符串部分添加到asp net core项目web.config文件中。
当我对连接字符串进行硬编码时,一切正常。
答案 0 :(得分:0)
我遇到了同样的问题,这给我带来了很多麻烦。这就是我解决它的方法:
首先,我使用Visual Studios 2015和.Net Core的预发布版本(dnx或其他)创建了一个.NET Core网站。我一直在浏览我的appsettings.json文件并试图弄清楚如何修复它但无济于事。我所做的所有研究都表明,我使用的是.Net核心框架的旧版本,我需要进行升级。最后我厌倦了它并卸载了VS15并安装了VS17,所以我得到了最新的。
现在配备了VS17,我创建了一个全新的.Net Core Web应用程序并添加了我的IO类只是为了得到错误
"The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=4.0.0.0."
我收到了这个错误,因为我试图在.Net Core网站上使用.Net框架OI类。我没有走那条路,而是决定创建一个 .Net框架ASP.Net核心网站。 (是的,有点混乱)
在我平了之后,重新添加了我的IO类,然后将我的连接字符串添加到appsettings.json,只是我遇到了完全相同的问题。
InvalidOperationException: No connection string named 'myConnectionString' could be found in the application config file.
在我把PC扔出窗外之前,我注意到这次有一个app.config文件和appsettings.json文件。
在预感中,我从appsettings.json中取出了连接字符串,将其添加到了app.config 和Voila!有效!我不确定这是否适用于VS15中的旧DNX框架,但如果您仍然遇到此问题,我会尝试添加app.config。