2016-11-01 29 views
0

我想在我的應用程序中使用DacFx。我已經安裝了DacFx包從的NuGet使用命令:DacFx:錯誤加載Microsoft.Data.Tools.Schema.Sql.resources

Install-Package Microsoft.SqlServer.DacFx.x64 

在那之後,我下面這個指南:

http://blogs.msmvps.com/deborahk/deploying-a-dacpac-with-dacfx-api/

但是,上線

dacServiceInstance.Deploy 

我得到系統.IO.FileLoadException嘗試加載「Microsoft.Data.Tools.Schema.Sql.resources,版本= 13.0.0.0,文化= RU-RU,PublicKeyToken = b03f5f7f11d50a3a」

圖書館位於的地方,但對於更多的信息,我有例外的FusionLog財產本文(由我未經定位):

The located assembly's manifest definition does not match the assembly reference: CULTURE 
Failed to complete setup of assembly (hr = 0x80131040) 

我所想,框架試圖加載該程序集,但不知何故,明顯的文化與實際文化不同。我能用這個做什麼?使用

NuGet包:Microsoft.SqlServer.DacFx.x64版本130.3485.1

應用程序與WPF,沒有MVC或其他網頁內容的Windows桌面應用程序。

我使用MSVS 2013,Windows 7的俄羅斯(我想,這可能是問題的一部分)

UPDATE:通過改變本土文化 「EN-US」 存在解決方法。似乎任何改變它的方法都是有效的,因爲Fusion(.Net程序集加載器)不會嘗試加載資源程序集。檢查了其他文化,如「pt-BR」,所有文件都與「ru-RU」一樣被打破。我不知道,也許這是一個nuget包故障。 現在我已經插入

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); 

在我的應用程序和一切正常。請發表評論,如果有更方便的解決方法,而不改變應用程序的文化。

回答

0

好吧,我明白了。

MSVS 2013 - 最新更新,最新的SSDT - 不適用於除「en-US」之外的文化。從問題嘗試Nuget包,從MS分離DacFx.msi - 沒有影響。

MSVS 2015 - 最新更新,最新的SSDT - 與任何文化都完美配合。