DacFx:加载错误 Microsoft.Data.Tools.Schema.Sql.resources

DacFx: Error loading Microsoft.Data.Tools.Schema.Sql.resources

我正在尝试在我的应用程序中使用 DacFx。我已经使用命令从 nuget 安装了 DacFx 包:

Install-Package Microsoft.SqlServer.DacFx.x64

之后,我将按照本指南进行操作:

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

但是,上线

dacServiceInstance.Deploy 

我在尝试加载 "Microsoft.Data.Tools.Schema.Sql.resources, Version=13.0.0.0, Culture=ru-RU, PublicKeyToken=b03f5f7f11d50a3a"

时得到 System.IO.FileLoadException

图书馆就在这个地方,但为了获得更多信息,我在 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

应用程序是 Windows 带有 WPF 的桌面应用程序,没有 MVC 或其他网络内容。

我正在使用 MSVS 2013,Windows 7 俄语(我认为,这可能是问题的一部分)

更新: 解决方法是将本地文化更改为 "en-US"。似乎任何改变它的方法都有效,因为 Fusion(.Net 程序集加载器)然后不会尝试加载资源程序集。检查其他文化,如 "pt-BR",所有文化都被打破,并出现与 "ru-RU" 相同的错误。我不知道,也许这是一个 nuget 包故障。 现在我已经插入

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

在我的应用程序中,一切正常。请post评论,如果有更方便的方法来解决这个问题而不改变应用程序的文化。

好的,我明白了。

MSVS 2013 - 最新更新、最新 SSDT - 不适用于 "en-US" 以外的文化。从问题中尝试了 Nuget 包,将 DacFx.msi 与 MS 分开 - 没有效果。

MSVS 2015 - 最新更新、最新 SSDT - 完美适用于任何文化。