c# - 在主函数中找不到 appsettings.json 文件?
问题描述
我正在尝试appsettings.json
从 Main 方法访问并传递给以DBContext
获取连接字符串。但是Configuration = builder.Build();
出错了。有没有其他方法可以尝试获取连接字符串?
System.IO.FileNotFoundException: 'The configuration file 'appsettings.json' was not found and is not optional.
The physical path is 'C:\Trunk\Repos\ZiplinePackage\bin\Debug\netcoreapp3.1\appsettings.json'.'
程序.cs
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
var context = new DataContext(Configuration);
var speCommonData = context.SpeCommonData.Where(s => s.Status == "NLM GENERATED").ToList();
}
}
数据上下文.CS文件
public class DataContext : DbContext
{
public DataContext(IConfiguration configuration)
{
configuration = configuration;
}
public DataContext(DbContextOptions<DataContext> options)
: base(options)
{
}
private string _connectionString;
public static IConfigurationRoot configuration;
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer(configuration.GetConnectionString("MISCDBConnection"));
}
}
解决方案
推荐阅读
- symfony - 使用 Symfony 和 JsonSerializable 解决递归问题
- c++ - unordered_map 使用默认构造函数
- javascript - 从 promise 数组中返回一个普通数组 - React
- here-api - 如何在 HERE Maps Geocoding and Search API v7 中指定反向地理编码端点的搜索半径?
- android - 记住 Kotlin 片段中选择的 TabLayout 选项卡
- java - 从用户输入用户名并使用它使用java(JDBC)删除mysql中的一行
- r - 将 R 图保存为数值数组对象
- python - matplotlib 中的一个绘图中有很多行
- botframework - 有什么方法可以指定 QnA 对(QnA Maker)中替代问题的顺序?
- css - 冻结动画css上的状态位置