Почему мое приложение ищет MyApp.exe.config и MyApp.config, чтобы найти файл app.config - PullRequest
1 голос
/ 24 марта 2010

У меня есть проверка, чтобы убедиться, что файл app.config существует и сообщить об ошибке, если это не так:

System.Windows.Forms.MessageBox.Show(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
if (!File.Exists(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
{

    throw new ConfigurationErrorsException("Unable to find configuration file.  File is expected at location:  "
    + AppDomain.CurrentDomain.SetupInformation.ConfigurationFile + "\n");
}

Когда я собираю решение, файл app.config в добавляется в выходной каталог как AppName.exe.config, а при запуске извне Visual Studio AppDomain.CurrentDomain.SetupInformation.ConfigurationFile содержит путь C: \ path \ AppName.exe. config (из VS это C: \ path \ AppName.vshost.exe.config). Если я удаляю AppName.exe.config, значением будет C: \ path \ Appname.config (без .exe).

Я немного поэкспериментировал, и, если существует Appname.config, этот файл также будет работать для загрузки значений моих настроек.

Что здесь происходит? Мне нужно, чтобы все было согласовано с целью сообщения об ошибках.

1 Ответ

1 голос
/ 31 марта 2010

Я разместил это на MSDN , когда не получил ответа. Microsoft подтвердила, что это ошибка. Официальный обходной путь - создать собственный домен приложения вместо использования по умолчанию.

...