在vs.net中,我在一个解决方案中有多个项目,webApplication是启动项目(asp.net core 2.1)和DataAccess项目(类库.net框架4.6),我将连接字符串从app.config(DataAccess项目)复制到appsettings。 webApplication中的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"
}
}
}
尝试使用GetValue获取Hemmat_Entities的值。嵌套值需要:
。
string connectionString = Configuration.GetValue<string("ConnectionStrings:Hemmat_Entities");
我找到了解决方案,我的错误是Asp.net核心2项目针对.net核心,将其更改为.net框架后,问题解决了!
因此,如果我们想引用在.net461下运行的其他项目,那么在我的情况下,asp.net core 2中的主项目必须处于.net框架目标模式。
@ T-prisar。您需要通过Presentation Layer注入一个,传递给DAL Constructor。