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和相關文件會感到困惑。

感謝您的協助。

相關問題