Azure Сборка конвейера: VSBuild завершается ошибкой на провайдере CodeDom - PullRequest
0 голосов
/ 02 марта 2020

Мой конвейер сборки (агент, размещенный в Microsoft) работал каждое утро в течение нескольких месяцев, но сегодня утром он неожиданно завершился неудачей в задаче VSBuild. Ошибка описывается следующим образом:

"## [error] ASPNETCOMPILER (0,0): ошибка ASPCONFIG: тип поставщика CodeDom" Microsoft.Visual C .CppCodeProvider, CppCodeProvider, версия = 10.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a "не удалось найти."

См. Изображение неудачной сборки здесь

Как это исправить?

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Мне удалось решить эту проблему, просто пропустив сборку проекта ресурсов, который не удался. Это было сделано с помощью Configuration Manager в Visual Studio (находится в Build-> Configuration Manager). Я только что снял галочку. Для уточнения см. Прикрепленные изображения.

Пропустить сборку проекта

Configuration Manager

0 голосов
/ 03 марта 2020

Не уверен, что вы используете частного агента. Как я знаю, эта ошибка может быть следствием того факта, что свойство PrecompileBeforePublish имеет значение true где-то в вашем проекте (профиль csproj или publi sh).

В качестве одного обходного пути вы можете передать /p:PrecompileBeforePublish=false в качестве аргумента для вашей задачи VSBuild. Но это может замедлить первый ответ вашего приложения.

Или вы можете зарегистрировать его в GA C, используя такую ​​команду, как this :

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\xxxx\VSEditon\Common7\IDE\PublicAssemblies\CppCodeProvider.dll"

Причина после VS2017 поддержка проекта C ++ для xsd.exe устарела, нам нужно вручную добавить его сборку в GA C, как описано здесь .

...