Я читаю настройки из файла app.config, используя код, почти идентичный тому, который я использовал в других частях приложения. Он отлично работает под WinXP и Win Server 2003, когда я запускаю его под Windows 7 64-битной, он генерирует исключение:
System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
string exePath = System.IO.Path.Combine(Environment.CurrentDirectory, applicationName);
// Get the configuration file. The file name has this format appname.exe.config.
System.Configuration.Configuration utilConfig = ConfigurationManager.OpenExeConfiguration(exePath);
string fileName = utilConfig.AppSettings.Settings["MsgAlertWav"].Value; //<<Fails here
Это упрощенный код, но он генерирует ошибку под Windows 7. Это проект .NET 3.0, скомпилированный для 32-битной цели. У меня есть тот же код в другом модуле, и он прекрасно работает под Windows 7.
Я озадачен, так как этот код работает в одном модуле, но не в другом и не генерирует ошибок сборки.