【问题标题】:Build error Could not load file or assembly Microsoft.CodeAnalysis构建错误无法加载文件或程序集 Microsoft.CodeAnalysis
【发布时间】:2021-08-25 20:32:37
【问题描述】:

我们有一个 .net core 3.1 解决方案,我们可以编译(使用 Visual Studio 2019)并发布。我们为我们的团队提供了解决方案,该团队正在设置部署过程。在尝试构建(linux 容器)时,他们看到以下错误:

CommonLib -> /srv/jenkins_work/DSS/ewcms/CMS/CommonLib/bin/release/netcoreapp3.1/CommonLib.dll CSC:错误 CS8032:无法从 /var/lib/jenkins/.nuget/packages/microsoft.entityframeworkcore.analyzers/5.0.9/analyzers/dotnet/cs/Microsoft.EntityFrameworkCore 创建分析器 Microsoft.EntityFrameworkCore.InternalUsageDiagnosticAnalyzer 的实例。 Analyzers.dll:无法加载文件或程序集“Microsoft.CodeAnalysis,版本=3.7.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。系统找不到指定的文件.. [/srv/jenkins_work/DSS/ewcms/CMS/Microsoft.EntityFrameworkCore.UnitOfWork/Microsoft.EntityFrameworkCore.UnitOfWork.csproj]

提到的文件 Microsoft.EntityFrameworkCore.Analyzers.dll 位于错误中提到的文件夹中。同一解决方案中的其他项目将此作为警告,但此特定项​​目将其显示为错误。

网上很多人说要安装Visual Studio,但那是他们说不能在容器中做的事情,有没有其他方法可以解决这个问题?或者我们需要在那个项目中特别注意导致错误而不是警告的东西?

【问题讨论】:

  • 嗨@Paritosh,我想你可以参考this github issue
  • @Rena 与我们的构建团队交谈,他们不想安装 .net 5,只想将容器保留在 .net core 3.1。

标签: linux asp.net-core


【解决方案1】:

经过一番调查,原来该项目有设置:

<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

其他项目中不存在,仅将其显示为警告。将此更改为 false 并且该项目现在也在进行中,它作为警告出现并允许构建通过。

【讨论】:

    猜你喜欢
    • 2016-06-17
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 2010-10-07
    • 2023-03-05
    • 2019-12-17
    相关资源
    最近更新 更多