【问题标题】:Azure DevOps project build returning with log4net errorAzure DevOps 项目构建返回 log4net 错误
【发布时间】:2019-03-16 04:24:57
【问题描述】:

我正在尝试构建一个 Visual Studio 2015 dot-net 应用程序,该应用程序在代码中具有 log4net 引用。

当我使用 Nuget 还原、Nuget 工具安装程序、Visual Studio 构建、发布构建工件在 Azure DevOps 中构建时,我遇到了一个错误:

错误 CS0246:找不到类型或命名空间名称“log4net”(您是否缺少 using 指令或程序集引用?)进程“msbuild.exe”以代码“1”退出。

请有人建议我是否必须添加另一个代理或参考 Azure DevOps 中的包/nuget。需要详细信息,因为我是 Azure DevOps 的新手。

【问题讨论】:

  • 您使用托管代理还是私有代理?
  • 我正在使用托管代理。
  • 您使用的是 .Net 框架(或).Net 核心吗?它是什么版本的?
  • .net 框架 4.6.1

标签: build continuous-integration azure-devops azure-pipelines


【解决方案1】:

错误信息提示缺少 using 或找不到程序集,这意味着可能 nuget 恢复失败。

如果您无法通过查看日志找出问题所在,那么第一步应该将 system.debug 设置为 true,然后您可能会获得有关问题可能是什么的更多信息。

当我不知道发生了什么时,我的第一反应总是查看代理的 s 文件夹,但我没有托管代理的经验,据我所知,您无法访问托管代理。

因此,作为一种解决方法(仅当其他所有方法都失败时),我建议将 s 文件夹(“$(Build.Sources)”)或它的特殊部分压缩到 a 文件夹(“$(Build.Artefacts)”中) 并将该 zip 作为人工制品发布。然后您可以下载并详细查看它,例如查看包文件夹或打开解决方案,看看为什么它不能编译。

【讨论】:

    【解决方案2】:

    问题已部分解决,因为我的源目录中有 .gitignore 和 .gitattribute 文件,我猜这些文件中有条目可以忽略第三方 .dll,例如 log4net 和几个在我执行 vsts 推送时没有被签入的文件夹。但是现在在 vsts 构建中出现了一些其他错误,我正试图找出这些错误。我将为此创建一个新线程。

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2019-08-02
      • 2019-02-24
      相关资源
      最近更新 更多