Я пытаюсь использовать 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, Version = 13.0.0.0, Culture = 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
Приложение настольное приложение для Windows с WPF, не MVC или других веб-материала.
Я использую МСВС 2013, Windows 7 Русский (я думаю, что это может быть частью проблемы)
UPDATE: Обход существует, изменив местную культуру на «EN-US». Кажется, что любой способ его изменения работает, потому что Fusion (сборщик сборок .Net) не пытается загрузить сборку ресурсов. Проверяемые другие культуры, такие как «pt-BR», все разбиты с той же ошибкой, что и «ru-RU». Я не знаю, может быть, это ошибка в пакете nuget. Теперь я вставил
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
в моем приложении, и все работает. Пожалуйста, напишите комментарий, если есть более удобный способ обхода этого без изменения культуры приложения.