Библиотека класса (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; }
    }
}

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


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

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

8   голосов , оценка 3.75 из 5
Похожие ответы