1

我有一个使用MVC4一个Web应用程序,EF6.1连接到SQL Server 10我收到EF的“无法加载指定的元数据资源”的错误,但只有在VS2015

1)开发在VS2012起网页服务器,一切正常。

2)从VS2015开始在开发Web服务器上,出现错误。

3)重试在VS2012上的开发Web服务器,得到错误。

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=&quot;Data Source=myserver;Initial 
Catalog=DevDatabase;Integrated Security=True;Persist Security Info=True& 
quot;" providerName="System.Data.EntityClient" /> 

提供明证,在EDMX尝试2008年和2012:

ProviderManifestToken="2008" 

似乎有是“.vs”中的某些内容阻止Web应用程序在VS2015中启动。任何帮助赞赏。

谢谢。

回答

1

不确定这是你的问题,但我经历了类似的从VS 2013到VS 2015的变化,Web服务器将挂在EF呼叫上。这是我落得这样做:

1)VS 2013是住旁边 解决方案文件出到一个临时文件夹(以防万一)将.suo file

2)如果您以前在VS 2015中打开过解决方案,请将.vs 文件夹移动到临时文件夹中。

3)启动没有.suo文件的VS 2015。

4)设置您的解决方案属性,但不要运行解决方案。启动项目等

5)退出VS 2015,在.vs/sln/v14文件夹中应该有一个新的.suo文件。

6)回到VS 2015,一切正常。

另外检查你的Nuget包是否正常。

+0

感谢您的支持。 .suo建议不起作用。检查.nuget包,但肯定如果它在VS2012中工作,那么它应该在VS2015中工作,即我的nuget包必须没问题, – SamJolly

+0

Nuget文件夹与当前工作文件夹相同。 – SamJolly

+1

你有没有试过这样的东西:http://blogs.teamb.com/craigstuntz/2010/08/13/38628/ –

0

我最终解决了这个问题。我没有分享,因为我不认为这是相关的,因为我使用了Devart的Entity Developer。我使用5.7版本升级到5.8.8。此外,我使用新的实体开发人员将VS2015 Model项目中的模型重新创建到同一个项目。现在起作用了。

我的感觉是,当我从另一个文件夹中复制它们而不是在目标文件夹中重新生成它们时,EDMX和相关文件会感到困惑。

感谢您的协助。

相关问题