У меня есть сборка c #, которая использует app.config для хранения строки подключения к базе данных. При отладке приложения я заметил, что соединение с базой данных продолжало сбой, поскольку ConfigurationManager продолжал возвращать строку соединения machine.config:
источник данных =. \ SQLEXPRESS; Комплексная безопасность; ....
Я добавил <clear/
> перед строкой подключения в app.config, и это устранило проблему на моем компьютере разработчика. Проблема вернулась, когда я развернул ее в производство. Может кто-нибудь сказать мне, как я могу остановить использование строки подключения machine.config?
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString);
<connectionStrings>
<clear/>
<add name="VersionConnectionString"
connectionString=" Data Source=localhost;Initial Catalog=VersionInfo;User ID=user;Password=password"
providerName="System.Data.SqlClient" />
</connectionStrings>
UPDATE
Следующее по-прежнему дает мне строку подключения machine.config?!
Configuration appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
string dllConfigData =
appConfig.ConnectionStrings.ConnectionStrings[0].ConnectionString;