配置管理器无法从app.config文件中找到连接字符串

3
我添加了System.Configuration.dll作为引用。当我尝试通过名称获取连接字符串时,会出现空引用异常。因此,我尝试使用以下代码查看是否有任何问题:
for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++)
{
    string ad = ConfigurationManager.ConnectionStrings[0].ConnectionString;
}

我发现它有3个连接字符串!我不确定是从哪里来的,因为我只在我的配置文件中有一个,而且这三个都不是我添加的那个。
接下来,我检查了我的应用程序域:
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

我已经在我的应用程序中读取了文件;它与我的AppConfig文件完全相同,包含我的连接字符串。
为什么配置管理器找不到它,我该怎么办才能修复它?

您的解决方案下是否运行了一个或多个项目? - undefined
如果您的解决方案中有多个项目,并且您所指的项目不是启动项目,那么问题很可能是与启动项目关联的 app.config 文件。应该编辑此 app.config 文件以包含您想要的连接字符串。 - undefined
多个项目在解决方案中,都是Windows窗体应用程序,每个项目都有包含连接字符串的app.config文件,但不一定相同。 我现在尝试在新的解决方案中只使用一个项目,当我将该项目的app.config复制并替换到另一个解决方案中时,它可以正常工作。但我很肯定它们本来应该是一样的... - undefined
1个回答

1

请确保您正在使用适合您构建的正确配置文件。

例如:如果您正在进行调试,Visual Studio 可能会为您的调试和发布分别提供一个 app/web.config。因此,请确保您查看的是正确的配置文件。


我的项目没有app.config文件,只有.csproj文件,它是一个C#类库项目,有什么想法吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接