【问题标题】:Configuration manager does not find connection string from app.config file配置管理器未从 app.config 文件中找到连接字符串
【发布时间】:2015-01-31 12:21:51
【问题描述】:

我添加了System.Configuration.dll 作为参考。当我尝试按名称获取连接字符串时,我得到一个空引用异常。所以我尝试使用以下代码查看它是否有:

for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++)
{
    string ad = ConfigurationManager.ConnectionStrings[0].ConnectionString;
}

我发现它有 3 个连接字符串!我不确定从哪里来,因为我的配置文件中只有一个,而这三个都不是我添加的。

接下来,我检查了我的 appDomain:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

我已经在我的应用程序中阅读了该文件;它与我的 AppConfig 文件完全相同,并且包含我的连接字符串。

为什么配置管理器找不到它,我该怎么做才能修复它?

【问题讨论】:

  • 您是在自己的解决方案下运行一个还是多个项目
  • 如果您的解决方案中有多个项目,并且您所指的项目不是启动项目,那么问题很可能是与启动项目关联的 app.config 文件。应编辑此 app.config 以包含所需的连接字符串。
  • 解决方案中的多个项目都是win forms应用程序,所有应用程序配置文件都包含连接字符串,不一定相同。我现在已经尝试了只有一个项目的新解决方案,当我复制该应用程序配置并将其替换为解决方案中的一个时,它正在工作。但我很确定它们是一样的......

标签: c# connection-string app-config


【解决方案1】:

确保您使用正确的配置文件进行构建。

即:如果您正在调试,Visual Studio 可以有一个 app/web.config 用于您的调试和另一个用于发布。因此,请确保您查看的是正确的。

【讨论】:

  • 我的项目没有 app.config,只有 .csproject 文件,它是一个 C# 类库项目,知道吗??
猜你喜欢
  • 2016-03-16
  • 1970-01-01
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 2011-11-21
  • 2015-06-02
  • 2015-01-10
  • 1970-01-01
相关资源
最近更新 更多