azure - 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。一切都在本地编译。
解决方案
发现了问题。我的目标是 dockerfile 中的旧 .Net 版本。
旧命令:
FROM microsoft/aspnetcore-build:2.0.0 as build
新命令:
FROM microsoft/aspnetcore-build as build
推荐阅读
- laravel - Auth::attempt 总是返回 false,即使传递的信息是 true
- firebase-authentication - Firebase 身份验证的密码重置链接的有效期是多久?
- python - 装饰器更改返回类型时的键入功能
- c# - 基于动态属性创建 RavenDB 索引
- c# - 写作时回到pdf的上一页:itextsharp
- c++ - 如何选择文件保存到的位置?
- java - 如何在android studio中加载带有socket.io的地图后添加新标记
- python - API、Python、Requests 未收到 POST pdf 文件
- firebase - 向firebase中的所有用户推送通知
- node.js - 如何获取 currentUser 的 sessionToken?