Проблемы при чтении значения из файла app.config - PullRequest
2 голосов
/ 17 ноября 2011

Я делаю одно приложение Windows в C #, где я добавил один файл в качестве файла app.config. Я написал некоторый код в этом файле как

    <appSettings>
       <add key ="FlagForArchiving" value="true"/>
    </appSettings>

В файле 'program.cs' я читаю это значение как

ConfigurationSettings.AppSettings["FlagForArchiving"].ToString();

На локальном компьютере я могу получить значение из файла конфигурации, но всякий раз, когда я создаю это приложение и работаю на любом другом компьютере, я не могу прочитать значение из файла конфигурации. Я пытаюсь запустить свое приложение на Windows 7. Пожалуйста, помогите мне . Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

app.config переименовывается в <MyProgramName>.exe.config при сборке.Когда ваша программа запускается, она ищет этот <MyProgramName>.exe.config файл, а не app.config.

. Вам необходимо развернуть переименованный файл (<MyProgramName>.exe.config) вместе с вашей программой.

В вашемВ этом случае вам необходимо скопировать OBViewer.exe, OBViewer.exe.config и любые другие файлы, от которых зависит OBViewer.exe (например, другие сборки DLL в вашем каталоге отладки / выпуска).

Кстати, этоПереименованный файл часто называют app.config, даже если он не имеет того же имени.

0 голосов
/ 17 ноября 2011

а файл app.config существует на другом компьютере?Перед чтением проверьте, существует ли оно

Исключение, которое вы получаете, говорит, что неправильно: "FileNotFoundException"

РЕДАКТИРОВАТЬ здесь правильный путь!

if (File.Exists(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
{
    MessageBox.Show(ConfigurationSettings.AppSettings["FlagForArchiving"].ToString());
}
...