Библиотека класса (DLL) не видит свой app.config - C#
Формулировка задачи:
Доброго дня!
Проблема следующая. Есть библиотека классов (DLL), в которой имеется модель EF, соответственно в app.config прописаны данные для подключения и для работы EF.
Когда библиотеку добавляю к другому проекту в ссылки, то она тянет с собой свой app.config, а так же подтягивает с собой нужные DLL, в частности EF. Но при запуске он смотрит app.config основного приложения, т.к. если туда добавить все настройки все - работает.
Нашел способы, как прочитать конфигурацию, но это не подходит, т.к. проблема не только в строке подключения, но и в других настройках EF, которые руками не делаются (defaultConnectionFactory, providers).
Можно ли как-то это обойти, глобально в библиотеке указать на какую конфигурацию смотреть?
Решение задачи: «Библиотека класса (DLL) не видит свой app.config»
textual
Листинг программы
using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp567
{
internal class Program
{
private static void Main()
{
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("MY_APP_ENVIRONMENT") ?? "Production"}.json", optional: true)
.AddJsonFile("othersetting.json", optional: true)
.Build();
var connection = configuration.GetConnectionString("MyConnectionString");
var other = configuration.GetValue<string>("other");
var myClass = configuration.GetSection("myObj").Get<MyClass>();
}
}
public class MyClass
{
public int Number { get; set; }
public string Name { get; set; }
}
}