Библиотека класса (DLL) не видит свой app.config - C#

Узнай цену своей работы

Формулировка задачи:

Доброго дня! Проблема следующая. Есть библиотека классов (DLL), в которой имеется модель EF, соответственно в app.config прописаны данные для подключения и для работы EF. Когда библиотеку добавляю к другому проекту в ссылки, то она тянет с собой свой app.config, а так же подтягивает с собой нужные DLL, в частности EF. Но при запуске он смотрит app.config основного приложения, т.к. если туда добавить все настройки все - работает. Нашел способы, как прочитать конфигурацию, но это не подходит, т.к. проблема не только в строке подключения, но и в других настройках EF, которые руками не делаются (defaultConnectionFactory, providers). Можно ли как-то это обойти, глобально в библиотеке указать на какую конфигурацию смотреть?

Решение задачи: «Библиотека класса (DLL) не видит свой app.config»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using Microsoft.Extensions.Configuration;
  4.  
  5. namespace ConsoleApp567
  6. {
  7.     internal class Program
  8.     {
  9.         private static void Main()
  10.         {
  11.             IConfiguration configuration = new ConfigurationBuilder()
  12.                 .SetBasePath(Directory.GetCurrentDirectory())
  13.                 .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
  14.                 .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("MY_APP_ENVIRONMENT") ?? "Production"}.json", optional: true)
  15.                 .AddJsonFile("othersetting.json", optional: true)
  16.                 .Build();
  17.  
  18.             var connection = configuration.GetConnectionString("MyConnectionString");
  19.  
  20.             var other = configuration.GetValue<string>("other");
  21.  
  22.             var myClass = configuration.GetSection("myObj").Get<MyClass>();
  23.         }
  24.     }
  25.  
  26.     public class MyClass
  27.     {
  28.         public int Number { get; set; }
  29.         public string Name { get; set; }
  30.     }
  31. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы