C# 在配置文件中找不到连接字符串。但它就在那里

C# 在配置文件中找不到连接字符串。但它就在那里,c#,entity-framework,C#,Entity Framework,我花了一天的大部分时间在谷歌上寻找解决办法。我找到的每个关于这个问题的帖子似乎都有相同的解决方案。将连接字符串放入启动项目的配置文件中 我有两个项目。一个用于EDMX,一个用于网站项目。我在两个文件中都有连接字符串,但仍然收到错误。我已经尝试了所有涉及到操作配置文件的方法来实现这一点。我已尝试将连接字符串放入解决方案中的所有配置文件中,删除实体框架配置部分或将其添加到配置文件中,并使用nuget卸载和重新安装EF 5 我继承了这个解决方案,所以我不知道它是如何创建的,除了它首先是数据库 连接字符

我花了一天的大部分时间在谷歌上寻找解决办法。我找到的每个关于这个问题的帖子似乎都有相同的解决方案。将连接字符串放入启动项目的配置文件中

我有两个项目。一个用于EDMX,一个用于网站项目。我在两个文件中都有连接字符串,但仍然收到错误。我已经尝试了所有涉及到操作配置文件的方法来实现这一点。我已尝试将连接字符串放入解决方案中的所有配置文件中,删除实体框架配置部分或将其添加到配置文件中,并使用nuget卸载和重新安装EF 5

我继承了这个解决方案,所以我不知道它是如何创建的,除了它首先是数据库

连接字符串

<add name="StoreContext" connectionString="metadata=res://*/Store.csdl|res://*/Store.ssdl|res://*/Store.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=*****;initial catalog=*****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
试试这个: -删除(或注释掉)web.config中的连接字符串 -删除嵌套在edmx中的model.tt文件 -双击edmx文件并在空白处单击鼠标右键,然后单击“从数据库更新模型”。这将要求您输入新的连接字符串

如果不删除原件,则无法完成向导


或者,升级到6.1,您的问题就会消失。

我会检查以确保启动项目中的连接字符串是正确的。这通常是我得到相同错误的地方,并且几乎总是通过将连接字符串从带有EDMX的数据项目复制到启动项目来修复

我还建议检查您是否正在导入对EDMX项目的引用,但我认为如果您已经得到了您所描述的错误,那么您已经在这样做了


我以前看到的另一件事是,您需要为这两个项目获取实体框架。前几天,我遇到了一个类似的问题(不记得确切的错误),在启动项目中安装EF解决了这个问题。

我一直在那里,并与这个确切的问题作斗争

解决方案是使用NuGet将Entity Framework 6添加到应用程序中。这将自动为您生成正确的连接字符串,并自动设置您的app.config

设置app.config的NuGet向导非常智能:如果其中已经有一些不好的设置,它将删除它们并添加好的条目


有关更多详细信息和分步指南,请参阅我的答案:

欢迎来到堆栈溢出。请拿一个战利品。回答您的问题绝对需要大量缺失的信息(例如,web.config/app.config连接字符串、EF上下文模型、用于创建上下文的任何代码,以及最重要的是您获得的确切异常类型和异常消息)。已经完成。我从EDMX项目中复制了它。此外,引用已正确导入。EF安装在两个项目上。我完全按照你说的做了,但我仍然得到错误。然后我尝试升级到EF 6.1,但没有改变。Hmmmm。如果已升级到EF6.1,请显示解决方案中的所有文件,然后删除model.tt文件,然后右键单击项目并添加新项,选择EF6.x DBContext Generator。
No connection string named 'StoreContext' could be found in the application config file.