c# - 在应用程序配置文件中找不到名为“BACEntities”的连接字符串。” 当从 .NET 5 Api 调用 'n .NET Framwork 4.7.2 Library
问题描述
解决方案
据我所知,我们应该在 asp.net 5 应用程序中使用 appsetting.json 而不是 App.Config 文件。
旧的.net框架库没有直接读取appsetting.json的代码,所以你应该先编写代码来读取它,然后将它传递给.net库sql连接库。
更多细节,您可以参考以下步骤:
1.添加Microsoft.Extensions.Configuration
到你的类的顶部(sql连接相关类):
using Microsoft.Extensions.Configuration;
2.添加以下代码以读取连接字符串。
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json").Build();
var connectionstring = config["BACEntities"];
3.修改appsetting.json如下:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"BACEntities": "metadata=res://*/BACSAModel.csdl|res://*/BACSAModel.ssdl|res://*/BACSAModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=BACSA;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
}
结果:
推荐阅读
- iis - 我的网站未经授权的 HTTP 失败响应 -401 错误
- javascript - 获取返回值绑定到特定函数
- visual-studio - 使用 MFC 是否可以为 32 位和 64 位设置不同的应用程序名称?
- matlab - 将 SIMULINK 组件中指定的数据提取到 MATLAB
- c++ - 功能不会将最低年级的学生返回到主要
- python - 如何使用openpyxl向excel列添加函数?
- apache-kafka - 如果其中一个代理出现故障,生产者会被阻止吗?
- algorithm - 在 Dijkstra 算法之后,图中的最小路径是什么?
- python - 裁剪数组中的值的更有效方法?
- c# - MSBuild 为后台任务生成无效的 AppxManifest.xml 文件