Azure生成管道:VSBuild在CodeDom提供程序上失败

时间:2020-03-02 12:25:51

标签: azure azure-devops msbuild azure-pipelines codedom

我的构建管道(由Microsoft托管的代理)每天早上已经运行了几个月,但是今天早晨,它突然在VSBuild任务上失败了。该错误描述为:

“ ## [错误] ASPNETCOMPILER(0,0):错误ASPCONFIG:找不到CodeDom提供程序类型“ Microsoft.VisualC.CppCodeProvider,CppCodeProvider,版本= 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a” 。”

See image of failed build here

我该如何解决?

2 个答案:

答案 0 :(得分:0)

不确定是否使用私人代理。据我所知,此错误可能是由于项目中某个地方的PrecompileBeforePublish属性设置为true(csproj或发布配置文件)引起的。

作为一种解决方法,您可以将/p:PrecompileBeforePublish=false作为参数传递给VSBuild任务。但这可能会使您的应用程序的第一响应变慢。

或者您可以使用this之类的命令将其注册到GAC中:

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

由于在VS2017之后,xsd.exe的C ++项目支持已过时,我们需要按照here的说明将其程序集手动添加到GAC中。

答案 1 :(得分:0)

我设法通过跳过失败的资产项目上的构建来解决此问题。这是使用Visual Studio中的配置管理器(位于“构建”->“配置管理器”中)完成的。我刚刚删除了复选标记。有关说明,请参见附件中的图像。

Skip project build

Configuration Manager

相关问题