在vs.net中,我在一个解决方案中有多个项目,webApplication是启动项目(asp.net core 2.1)和DataAccess项目(类库.net framework 4.6),我从app.config复制了连接字符串(DataAccess项目)到webApplication中的appsettings.json,但在访问数据库时发生错误: 在应用程序配置文件中找不到名为“ Hemmat_Entities”的连接字符串。
DAL项目中的app.config:
<connectionStrings>
<add name="Hemmat_Entities" connectionString="metadata..."
</connectionStrings>
asp.net核心中的appsettings是:
{
"AllowedHosts": "*",
"ConnectionStrings": {
"Hemmat_Entities": "data source=.;initial
catalog=hemmat_new;integrated
security=True;multipleactiveresultsets=True;application
name=EntityFramework""
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
答案 0 :(得分:0)
尝试使用GetValue获取Hemmat_Entities的值。并且:
是嵌套值所必需的。
string connectionString = Configuration.GetValue<string("ConnectionStrings:Hemmat_Entities");
答案 1 :(得分:0)
我找到了解决方案,我的错误是Asp.net core 2项目针对.net核心,将其更改为.net框架后,问题解决了!
因此,如果我们要引用在.net461下运行的其他项目,则本例中的主项目asp.net core 2必须处于.net框架目标模式。
答案 2 :(得分:0)
@ t-prisar。 您需要通过表示层注入一个,然后传递给DAL构造函数。