Загрузка файла app.config в выпуске - PullRequest
1 голос
/ 16 ноября 2010

В моем проекте Visual Studio 2008 я добавил файл app.config, в котором я храню некоторые данные приложения в формате xml.

Я читаю эти данные в следующем коде:

string somedata =    ConfigurationSettings.AppSettings["somedatakey"].ToString();

, когда я запускаю приложение в Visual Studio, оно работает.Но если я пытаюсь запустить exe-файл (выпуск или отладка), я получаю сообщение об ошибке (если я отлаживаю его, он ломается в строке выше):

Ссылка на объект не установлена ​​на экземпляр объекта.

Файл app.config не находится внутри папки.

Ответы [ 3 ]

1 голос
/ 16 ноября 2010

@ Jullin: Когда вы запускаете проект из редактора Visual Studio, нажимая F5, затем CLR выбирает файл app.config для чтения данных, но когда вы хотите запустить проект из .exe (bin / debug или bin / release), затем clr read applicationName.exe.config, который вы должны иметь в своей отладке или выпуске или в любой папке, откуда вы обращаетесь к applicationName.exe.

Как будто у меня есть оконное приложение с именем «WindowsFormApplication», когда я успешно его собираю в выпускепапка у меня есть WindowsFormApplication.exe и WindowsFormApplication.exe.config и некоторые другие файлы.поэтому убедитесь, что проект успешно выпущен, а папка выпуска должна содержать файлы.

1 голос
/ 16 ноября 2010

Файл app.config находится в той же папке, что и ваш exe-файл?Если нет, скопируйте его туда.

При запуске отладки в Visual Studio все компилируется и копируется вывод (включая app.config) в выходную папку, начиная с нее.

0 голосов
/ 16 ноября 2010

При запуске из Exe убедитесь, что вы добавили app.config в тот же каталог

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