无法从配置中获取 ConnectionString 值

Unable to get ConnectionString value from Configuration

我不知道为什么会出现此错误我已经尝试了所有方法,但我仍然一次又一次地收到此错误。任何可以解决此问题的帮助将不胜感激。

这里是错误:

web.config 中的连接字符串:

我看到了几个问题,但最主要的是你得到的是空值,为什么你得到的是空值?因为那是你在阅读你的设置文件后得到的。所以基本上,问题是您正在从设置文件中读取 null,如果您正确传递了配置,即设置文件。

这就是我会做的,

调试的时候,看看配置管理器,试着看看你附加了什么和它的值,然后,很容易弄清楚它应该是什么。

我觉得你的问题出在ConfigurationManager,其实你应该多用断点和watch。

看看,看看应该怎么做。

请这样设置

string ConnectionString =
System.Configuration.ConfigurationManager.ConnectionStrings["myConnectionString"];

这会起作用

作为我在问题评论中提到的解决方案的扩展:

解释

根据文章Tale of two web.config in MVC

web.config in View folder

实现 阻止直接通过用户请求或通过 URL.

访问查看文件夹和文件

Web.config in project folder

其中所有的appSettingsconnectionStringsconfigSectionsetc.都是在这里配置的,这些settings/values可以被整个项目访问.


解决方案

因此,您需要<ConnectionStrings> 部分从 web.config(在 View 文件夹的根目录中)移动到 Web.config(在项目文件夹).