Библиотека класса (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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д