我有一个使用MVC4,EF6.1连接到SQL Server 10的Web应用程序
1)从dev2012 web服务器上的VS2012开始,一切正常。
2)从dev Web服务器上的VS2015开始,出错。
3)在dev web服务器上的VS2012中重试,得到错误。
2)和3)之间的区别是在VS2015中加载解决方案文件后会添加“.vs”文件夹。
4)删除“.vs”文件夹,在VS2012中重试,一切正常。
所以似乎“.vs”中的某些内容会让我的EF无法运行,并导致错误。
其他信息:
Web配置,对我来说没问题:
<add name="EntityConnectionString"
connectionString="metadata=res://Entity.Models/Model.csdl|res://Entity.Models
/Model.ssdl|res://Entity.Models/Model.msl;provider=System.Data.SqlClient;
provider connection string="Data Source=myserver;Initial
Catalog=DevDatabase;Integrated Security=True;Persist Security Info=True&
quot;" providerName="System.Data.EntityClient" />
Provider Manifest Token,在EDMX中尝试了2008年和2012年:
ProviderManifestToken="2008"
似乎“.vs”中存在阻止Web应用程序在VS2015中启动的内容。任何帮助表示赞赏。
感谢。
答案 0 :(得分:1)
不确定这是你的问题,但我从VS 2013到VS 2015经历了类似的诡异,其中网络服务器只会挂在EF电话上。这就是我最终做的事情:
1)从位于旁边的VS 2013移动.suo file 解决方案文件到临时文件夹(以防万一)。
2)如果您之前在VS 2015中打开了解决方案,请移动.vs 文件夹到temp。
3)启动VS 2015,没有.suo文件。
4)设置解决方案属性,但不要运行解决方案。启动项目等
5)退出VS 2015,.vs / sln / v14文件夹中应该有一个新的.suo文件。
6)回到VS 2015,一切正常。
同时检查您的Nuget包是否正常。
答案 1 :(得分:0)
我最终解决了这个问题。我没有分享,因为我认为不相关,我使用的是Devart的实体开发人员。我使用5.7版本升级到5.8.8。我还使用新的Entity开发人员将模型从VS2015 Model项目重新生成回到同一个项目。它现在有效。
我的感觉是当我从另一个文件夹复制EDMX和相关文件而不是在目标文件夹中重新生成它们时,EDMX和相关文件会混淆。
感谢您的帮助。