App.Config не найден при запуске одного консольного приложения проекта в качестве исполняемого файла

При запуске консольного приложения, упакованного в один .exe с costura.fody, я, похоже, не могу получить доступ к моему app.config, что приводит к ошибке

System.InvalidOperationException: в файле конфигурации приложения не удалось найти строку подключения с именем «volumeEntities». в System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()

Когда я тестирую в своем тестовом проекте nunit, app.config, который я добавил туда, который содержит строку подключения, работает.

У меня есть app.config, добавленный к единственному другому проекту в решении. Он содержит правильную строку подключения. В свойствах объекта запуска установлено значение «Uploader.Program».

Я упустил какой-то способ настроить проект как запуск, а не класс программы? Как я могу заставить исполняемый файл найти app.config?


person frogg    schedule 27.05.2020    source источник
comment
Видите ли вы файл конфигурации с именем myappname.exe.config в выходном каталоге, из которого вы работаете?   -  person JamesFaix    schedule 27.05.2020
comment
‹имя приложения›.exe, config создается в выпуске, только exe создается в выпуске/приложении.publish, что связано с тем, что costura.fody упаковывает все вместе, я полагаю   -  person frogg    schedule 27.05.2020
comment
аааа, я идиот, мне просто нужно было скопировать файл конфигурации из релиза в ту же папку, что и .exe, очевидно - по какой-то причине я думал, что costura каким-то образом упакует его в exe, который, как я беспокоился, мне придется отменить. .. Спасибо @JamesFaix   -  person frogg    schedule 27.05.2020


Ответы (1)


Fody costura не упаковывает файл app.config с исполняемым файлом, поэтому вы можете изменить информацию в app.config без перекомпиляции. Скопируйте .exe.config в ту же папку, что и исполняемый файл.

person frogg    schedule 03.06.2020