错误:应用程序配置文件中没有连接字符串...但有一个

时间:2015-06-04 21:59:17

标签: c# wpf entity-framework connection-string

当我尝试构建解决方案时出现以下错误:

  

没有名为' TechnicalAnalyzerEntities'的连接字符串可以找到   在应用程序配置文件中。

事情是:

1 /有一个:

<connectionStrings>
    <add name="TechnicalAnalyzerEntities" connectionString="metadata=res://*/Data.Database.TAdb.csdl|res://*/Data.Database.TAdb.ssdl|res://*/Data.Database.TAdb.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=PSYKOTROPYK-PC\PSYKOTROPYK;initial catalog=TechnicalAnalyzer;persist security info=True;user id=***;password=***;network library=dbnmpntw;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

2 /我的解决方案中只有一个项目(我搜索并且当人们有一个带有连接字符串和启动项目的项目时,似乎会出现相同的错误,而不是我的情况)

3 /此错误似乎不会阻止我的项目运行,也不会阻止Entity Framework访问数据并将其绑定到我的树视图。

实际上唯一的问题是我的错误列表和MainWindow.xaml文件(引用了错误)中显示的错误无法正确显示随后需要此连接字符串的自定义控件== &GT;无法创建&#34; TreeviewSelector&#34;的实例。问题是xaml编辑器中正确显示了自定义控件xaml文件(您猜到的TreeviewSelector.xaml)。

这不是一个戏剧性的错误,阻止我继续我的项目,但是有错误并且无法正确使用xaml编辑器会很烦人。

N.B。:其他一些可能感兴趣的观点: 1 /我使用Entity Framework 6.0 2 /该项目位于我的笔记本电脑和桌面上的数据库中 3 / Blend显示相同的MainWindow.xaml错误 4 /如果我将项目的副本放在我的桌面上(所以在与我的数据库相同的系统上)我有同样的问题

3 个答案:

答案 0 :(得分:4)

我一直在那里,并在这个问题上挣扎。

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

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

请在此处查看我的回答:Upgrade from Entity Framework 5 to 6

答案 1 :(得分:2)

尝试重新排序app.config文件中的部分。有时,如果这些部分处于意外顺序,它们将在编译时生成模式错误。

使用Visual Studio for Entity Framework中的向导,在新生成的app.config文件上基于部分的顺序。

答案 2 :(得分:1)

重复按Ctrl-F4,尝试关闭解决方案中的所有打开文件。有时,这将清除编译时生成的任何恶意错误。

visual studio中存在一个已知错误,其中具有意外架构的xml文件在编译期间会产生良性错误。