Azure DevOps Build 出现错误:找不到程序集“System.ComponentModel.Annotations”

Posted

技术标签:

【中文标题】Azure DevOps Build 出现错误:找不到程序集“System.ComponentModel.Annotations”【英文标题】:An error from Azure DevOps Build: Could not locate the assembly "System.ComponentModel.Annotations" 【发布时间】:2018-10-28 10:03:18 【问题描述】:

我有一个引用 System.ComponentModel.Annotations 的 netstandard 2.0 项目。它在我的本地计算机上构建良好,但是当我尝试使用 Azure DevOps 管道构建它时,我收到以下错误:

...警告 MSB3245:无法解析此引用。找不到程序集“System.ComponentModel.Annotations”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。 [/home/vsts/work/1/s/src/MyProj/MyProj.csproj]

...MyProj/MyClass.cs(2,29):错误 CS0234:命名空间“System.ComponentModel”中不存在类型或命名空间名称“DataAnnotations”(您是否缺少程序集引用?) [/ home/vsts/work/1/s/src/MyProj/MyProj.csproj]

这个错误是不言自明的,我理解它的意思,但问题是我应该如何解决它以满足 Azure DevOps 构建?

【问题讨论】:

你可以试试这些solutions @Jayendran - 我应该安装 NuGet 包:***.com/a/53032512/538387 【参考方案1】:

发现问题。我应该安装System.ComponentModel.Annotations NuGet package,而不是在我的项目依赖项中引用System.ComponentModel.Annotations

我安装了包,Azure DevOps Build 成功构建了项目。

【讨论】:

谢谢,就是这样。我在一些属性之上手动添加了一些属性(在我的情况下为 [NotMapped]),我解决了它,包括错误的库。所以添加正确的包(你的)修复了我的管道构建错误。奇怪为什么在 Visual Studio 中构建时不会发生这种情况。

以上是关于Azure DevOps Build 出现错误:找不到程序集“System.ComponentModel.Annotations”的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps devenv.com /Build 创建窗口句柄时出错

Microsoft.NET.Sdk.CrossTargeting.targets 上的 Visual Studio Build in Azure DevOps 管道错误

Azure DevOps ionic Android Build 错误“Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/bu

在 Azure Devops 上运行构建时找不到资产文件 project.assets.json

用于在 azure devops.Apache maven 上创建基于 java 的 Web 应用程序的管道以创建 build 。下面的yaml代码和我得到的输出错误

如何解决 Azure DevOps 中的“堆栈跟踪错误”