2013-04-20 113 views
0

我創建了Asp.Net MVC 4應用程序並使用'ServiceStack.OrmLite.Sqlite'。當我加載頁面時,我看到以下錯誤。無法加載文件或程序集「ServiceStack.OrmLite.SqliteNET」或其某個依賴項。

無法加載文件或程序集「ServiceStack.OrmLite.SqliteNET」或其某個依賴項。一個試圖加載程序使用不正確的格式

LOG:DisplayName的= ServiceStack.OrmLite.SqliteNET (部分) WRN:部分結合信息是爲組件提供: WRN:大會名稱:ServiceStack.OrmLite .SqliteNET |域ID:36 WRN:只提供部分程序集顯示名稱時發生部分綁定。 警告:這可能會導致活頁夾加載不正確的組件。 警告:建議爲程序集提供完全指定的文本標識, 警告:由簡單名稱,版本,文化和公鑰標記組成。 警告:有關此問題的更多信息和通用解決方案,請參閱白皮書http://go.microsoft.com/fwlink/?LinkId=109270

我已經使用Visual Studio 2012 Nuget安裝程序來加載文件。這意味着我擁有所有的依賴關係。我已經將我的項目設置爲32位和64位來解決問題,但無論在哪種情況下,錯誤都是一樣的。

ServiceStack.OrmLite.SqliteNET是否適用於.Net 4.5運行時?

回答

1

我在.Net 4.0上修復了同樣的問題。我不相信這是一個CLR版本相關的問題。更多的Nuget依賴關係。

當我在fusion log看着,我發現:

LOG:後政策參考:System.Data.SQLite,版本= 1.0.84.0,文化=中立, ... LOG:大會名稱爲:System.Data.SQLite,Version = 1.0.85.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139 警告:比較程序集名稱導致不匹配:內部版本號 錯誤:程序集引用與找到的程序集定義不匹配。

它看起來像SQLite的Nuget包已更新,並打破了事情。

修復東西: 我將packages.config中的引用更改爲版本1.0.84.0。 恢復了Nuget包 並手動將兩個SQLite程序集重新引用到解決方案級別程序包高速緩存中新創建的版本84文件夾。

+0

從您的回答中不清楚您的步驟是否確實解決了問題。請更加明確。 – 2013-04-25 11:02:52

+0

我認爲「解決問題:我改變了.....」很明顯,但爲了避免任何混淆,我編輯了我的答案。 – 2013-04-25 11:09:23

0

Solution/issue報道在GitHub:

解決方法是手動刪除System.Data.SQLite依賴關係,從一個package.config比從用的NuGet '-Version 1.0.84.0' 安裝除去引用。

相關問題