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