首页 > 解决方案 > Azure devops 中的 Docker 构建失败并显示消息无法加载文件或程序集“Microsoft.CodeAnalysis,

问题描述

我有一个 Docker 构建作为 Azure devops 构建管道中的任务运行。最近,我不得不在项目中添加一个 git 子模块,其中包含一个引用 Entity Framework Core 的 .Net Standard 2.0 库。现在,当我运行构建时,我收到以下错误消息:

CSC:错误 CS8032:无法从 /root/.nuget/packages/microsoft.entityframeworkcore.analyzers/2.2.1/analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll 创建分析器 Microsoft.EntityFrameworkCore.RawSqlStringInjectionDiagnosticAnalyzer 的实例:无法加载文件或程序集“Microsoft.CodeAnalysis,Version=2.8.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。系统找不到指定的文件.. [/.../MyProject.csproj]

我尝试将 Microsoft.CodeAnalysis nuget 包添加到项目中,但这只会导致更多错误消息。我也尝试添加 Microsoft.Net.Compilers,但它只能在完整的 .Net 框架下构建,因此不适用于我们管道的其他领域。

正在使用的构建代理是托管的 Ubuntu 1604,它应该具有最新的 .NET 核心 SDK。一切都在本地编译。

标签: azuredocker.net-coreazure-devopsentity-framework-core

解决方案


发现了问题。我的目标是 dockerfile 中的旧 .Net 版本。

旧命令:

FROM microsoft/aspnetcore-build:2.0.0 as build

新命令:

FROM microsoft/aspnetcore-build as build


推荐阅读