Проект не может найти мою строку подключения EF в C # Interactive - PullRequest
0 голосов
/ 23 марта 2019

У меня есть несколько проектов: DAL, бизнес-уровень, модель домена, клиент и несколько других. Клиентский проект устанавливается в качестве запускаемого проекта и имеет строки подключения, определенные в его app.config. Когда я инициализирую интерактивное окно C # с моим проектом, оно, кажется, инициализируется правильно. Существует длинный список ссылок #r, и я остаюсь в приглашении. Когда я пытаюсь создать экземпляр объекта, который должен считывать данные из базы данных в его конструкторе, я получаю сообщение «В файле конфигурации приложения не найдена строка подключения с именем« Entities ».»

Какой app.config используется при использовании C # интерактивный? Я видел сообщения о том, что запускаемый проект должен быть тем, в котором есть строки подключения в app.config. Вот как это настроено, но это не работает.

Я также видел пост, где кто-то предлагает создать частичный класс для инициализации экземпляра DBContext, но я не взаимодействую с DBContext напрямую в интерактивном окне, поэтому я не уверен, что это поможет.

Существует ли отдельный app.config для интерактивного окна C # или способ указать, какой app.config использовать? Большинство постов, которые я читал об этом, похоже, не имеют рабочего решения, но они также довольно устарели. Я надеюсь, что есть решение, которое я просто не нахожу.

1 Ответ

0 голосов
/ 25 марта 2019

Запрашивая, какой app.config был активен в самом интерактивном окне:

Print(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

Я нашел этот путь:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\ManagedLanguages\VBCSharp\InteractiveComponents\InteractiveHost32.exe.config"

Добавление моей строки подключения к этому файлу конфигурации сработало. EF начал функционировать, как и ожидалось, после этого. Конечно, вам все равно придется инициализировать интерактивное окно из вашего проекта. Просто не забудьте убирать за собой, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...