我有一个c#程序集,它使用app.config来存储其数据库连接字符串。在调试应用程序时,我注意到与数据库的连接保持失败,因为ConfigurationManager一直返回machine.config连接字符串:ConfigurationManager不断获取Machine.config连接字符串
data source =。\ SQLEXPRESS;集成安全性; ...
我在app.config中的连接字符串之前加了<clear/
>,它解决了我的开发机器上的问题。当我将它部署到生产时,这个问题就回来了。有人能告诉我如何停止使用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;
我知道这是一个旧的帖子,但我仍然很好奇,这是一个桌面或控制台应用程序?是否在输出(bin)目录中看到带有clear元素的连接字符串部分? – 2015-10-22 08:33:32
我的应用程序中仍存在问题。我添加了清除,或者使用下面的代码并将配置文件复制到exe文件夹中,但它仍在提取默认数据。我正在使用VS2015。 – Amir 2016-04-25 10:05:24
我有同样的问题。我在我使用的'class library'项目中有正确的连接字符串,并在'Web'项目中留下'web.config'为空。只要我在web项目中添加了相同的内容,它对我来说也很好。以防万一您的解决方案中有多个项目 – Sugafree 2017-04-16 21:38:34