У меня есть приложение, которое отлично работает в 32-разрядных системах, но не работает в 64-разрядных системах XP. Я отследил его до строки подключения, определенной в моем app.config, таким образом:
<connectionStrings>
<clear/>
<add name="IFDSConnectionString"
connectionString="Data Source=fdsdata;Initial Catalog=IFDS;
Trusted_Connection=true;Connect Timeout=0"
providerName="System.Data.SqlClient" />
</connectionStrings>
Когда я пытаюсь сослаться на него в коде, я обнаружил, что коллекция ConfigurationManager.ConnectionStrings содержит только строку подключения LocalSqlServer из файла machine.config, а не мою пользовательскую строку.
Еще одна странность в том, что все работает нормально, когда я запускаю приложение из Visual Studio. Только когда я исчерпал папку выпуска, строка соединения не будет определена. Файл приложения .exe.config находится в папке выпуска вместе с файлом .exe и обновлен.