Azure 构建管道:VSBuild 在 CodeDom 提供程序上失败
Azure Build Pipeline: VSBuild fails on The CodeDom provider
几个月来,我的构建管道(Microsoft 托管的代理)每天早上都在 运行,但今天早上 VSBuild 任务突然失败。错误描述为:
"##[error]ASPNETCOMPILER(0,0): 错误 ASPCONFIG: 找不到 CodeDom 提供程序类型 "Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"。"
See image of failed build here
我该如何解决这个问题?
不确定您是否使用私人代理。据我所知,此错误可能是由于 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 之后,C++ 项目对 xsd.exe
的支持被弃用了,我们需要按照 here.
中的描述手动将其程序集添加到 GAC 中
我设法通过跳过失败的资产项目的构建来解决这个问题。这是使用 Visual Studio 中的配置管理器完成的(位于 Build->Configuration Manager 中)。我刚刚删除了复选标记。请参阅所附图片进行说明。
Skip project build
Configuration Manager
几个月来,我的构建管道(Microsoft 托管的代理)每天早上都在 运行,但今天早上 VSBuild 任务突然失败。错误描述为:
"##[error]ASPNETCOMPILER(0,0): 错误 ASPCONFIG: 找不到 CodeDom 提供程序类型 "Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"。"
See image of failed build here
我该如何解决这个问题?
不确定您是否使用私人代理。据我所知,此错误可能是由于 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 之后,C++ 项目对 xsd.exe
的支持被弃用了,我们需要按照 here.
我设法通过跳过失败的资产项目的构建来解决这个问题。这是使用 Visual Studio 中的配置管理器完成的(位于 Build->Configuration Manager 中)。我刚刚删除了复选标记。请参阅所附图片进行说明。
Skip project build
Configuration Manager