Не удалось загрузить файл или сборку 'Microsoft.SqlServer.BatchParser, версия = 13.100.0.0 - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь запустить сборку в TFS 2018. У нас также установлен SQL Server 2016 на сервере сборки TFS (Windows Server 2016). Visual Studio - 2017. Первый файл решения выдает следующую ошибку, и я понятия не имею, откуда этот файл ссылается:

2019-01-22T20: 35: 26.8607312Z Пакет:
2019-01-22T20: 35: 26.8608029Z Вызов веб-развертывания для создания пакета со следующими параметрами:
2019-01-22T20: 35: 26.8608667Z $ (LocalIisVersion) составляет 10
2019-01-22T20: 35: 26.8609527Z $ (DestinationIisVersion) составляет 10
2019-01-22T20: 35: 26,8610846Z $ (UseIis) - это правда
2019-01-22T20: 35: 26,8612479Z $ (IisUrl) составляет http://localhost:62327/
2019-01-22T20: 35: 26.8614266Z $ (IncludeIisSettings) неверно
2019-01-22T20: 35: 26.8615630Z $ (_ DeploymentUseIis) неверно
2019-01-22T20: 35: 26.8617245Z $ (DestinationUseIis) неверно
2019-01-22T20: 35: 26.8666548Z GenerateMsdeployManifestFiles:
2019-01-22T20: 35: 26.8684620Z Создать файл исходного манифеста для пакета Web Deploy / опубликовать ...
2019-01-22T20: 35: 27.0589951Z Visual Studio - 2017. ## ​​[ошибка] C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ Web \ Deploy \ Microsoft.Web.Publishing.MSDeploy.Common.targets (119,5): Ошибка MSB4018: задача «SqlScriptPreprocessSqlVariables» неожиданно завершилась неудачей.
System.IO.FileNotFoundException: Не удалось загрузить файл или сборку 'Microsoft.SqlServer.BatchParser, версия = 13.100.0.0, Culture = нейтральный, PublicKeyToken = 89845dcd8080cc91' или одна из ее зависимостей. Система не может найти указанный файл.
Имя файла: 'Microsoft.SqlServer.BatchParser, версия = 13.100.0.0, культура = нейтральная, PublicKeyToken = 89845dcd8080cc91'
в Microsoft.Web.Publishing.Tasks.SqlScriptPreprocessor.SqlScriptPreprocessSqlVariables.Execute ()
в Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute ()
в Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext ()

WRN: регистрация привязки сборки выключена.
Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) значение 1.
Примечание. Некоторое снижение производительности связано с регистрацией ошибок привязки сборки.
Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Найден тот же обходной путь , на который ссылается Michiel .

Моя ситуация:

  • Инструменты сборки Visual Studio 2017 (без IDE)
  • Microsoft.SqlServer.BatchParser Версия = 13.100.0.0 не зарегистрирована в глобальном кэше сборок.Также не было 13.0.0.0.
  • VS Инструменты сборки не включают Microsoft.SqlServer.BatchParser.dll.Указанный путь предназначен для VS Enterprise и не существует для инструментов сборки: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SQLCommon\130.Аналогичного пути нет под C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools
  • Я проверил установку Build Tools.Сказал, что SQL Server Data Tools был установлен - под рабочей нагрузкой «Хранение и обработка данных»

Мое решение:

  • По рекомендации здесь , я скачал и установилИнструменты данных SQL Server с последующей перезагрузкой.
  • После чего Microsoft.SqlServer.BatchParser Version = 13.0.0.0 был зарегистрирован в глобальном кэше сборок
  • Затем, для каждого рассматриваемого обходного пути (сообщество разработчиков выше),Я добавил перенаправление привязки для MSBuild (в C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\BinMSBuild.exe.config - см. Ниже)
  • Исправлено.
<!-- Workaround for errorMSB4018: The "SqlScriptPreprocessSqlVariables" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=13.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. -->
<dependentAssembly>
    <assemblyIdentity name="Microsoft.SqlServer.BatchParser" culture="neutral" publicKeyToken="89845dcd8080cc91" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="13.0.0.0"/>
</dependentAssembly>
0 голосов
/ 06 февраля 2019

Найден обходной путь здесь , для сборки рабочего стола. Не пробовал сборку команды TFS.

Используйте gacutil для регистрации Microsoft.SqlServer.BatchParser v2015.130.1601.5, установленного с Visual Studio 2017, очевидно, удовлетворяющего задаче сборки SqlScriptPreprocessSqlVariables, даже если он запрашивал v13.100.0.0.

В:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\SQLCommon\130

или похожая проблема:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil.exe" /i Microsoft.SqlServer.BatchParser.dll

или аналогичный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...