2016-12-01 159 views
0

我有一個問題,許多人以前曾有過但現有的答案似乎沒有爲我工作。應用程序無法加載Microsoft.SqlServer.Types版本13

當我部署我的ASP.NET項目中,我得到在事件日誌中出現錯誤,說

無法加載文件或程序集「Microsoft.SqlServer.Types,版本= 13.0.0.0,文化=中立, PublicKeyToken = 89845dcd8080cc91'或它的一個依賴關係。定位的程序集清單定義與程序集引用不匹配。 (異常來自HRESULT:0x80131040)

要儘量糾正這一點,我安裝了NuGet包:

PM>安裝,包裝Microsoft.SqlServer.Types

這並沒有工作和我得到同樣的錯誤。然後我按照自述文件使用Loader.cs加載文件。同樣的問題。發生了什麼,爲什麼通常的解決方案不能解決它?

我注意到的一件事是我的Microsoft.SqlServer.Types.dll是版本11而不是13?如果它有什麼不同,我們的數據庫是SqlServer 2016,我們的機器運行的是Windows Server 2008

+0

Chris你能解決這個問題嗎?即時通訊有類似的問題,並完成所有試圖解決它的標準方法。 – InitLipton

+1

@InitLipton是的,我實際上,我剛剛添加了一個答案 – Chris

回答

1

我解決了這個是設置在我的應用程序的SqlServerTypesAssemblyName的方式。我目前在[繼承關DbContext],以確保我EntityContext構造函數設置其始終設置

SqlProviderServices.SqlServerTypesAssemblyName 
      = "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; 

請注意您的版本可能要有所不同。

0

請確保您引用了正確的程序集版本。

如果不是手動添加。 Add manually

一旦安裝了NuGet包,你可以確保dll引用屬性設置爲「複製本地=真正的」

+0

謝謝,但nuget包似乎不包含v13,任何想法在哪裏得到它? – Chris

+0

@ KT.Thor我有「複製本地」=真,參考是版本13,但Visual Studio仍然表示它想要使用版本10。 – SezMe

相關問題