【问题标题】:Facing build error with System.Net.IMAP4 in Azure DevOps在 Azure DevOps 中面临 System.Net.IMAP4 的构建错误
【发布时间】:2020-02-13 06:24:28
【问题描述】:

我在本地有一个 C# 项目,它在我的本地机器上运行良好。当我尝试通过 Azure DevOps 构建相同的项目时,会出现以下构建错误

[错误]d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.sln.metaproj(0,0): 错误 MSB3202:项目文件 “d:\a\1\s\packages\System.Net.Imap4.0.1.0..\example\example.csproj” 没有找到。 d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.sln.metaproj :错误MSB3202:项目文件 > "d:\a\1\s\packages\System.Net.Imap4.0.1.0..\example\example.csproj" 没有找到。 [d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.sln] 项目 "d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.sln" (1) 是 建筑 "d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.csproj"

在 IMAP4 库中,它明确表示未找到以下文件。当我通过 Nuget 包管理器 添加包时,它安装完美,但没有下载 packages/System.Net.Imap4 中提到的文件 example/example.csproj .0.1.0 文件夹。

d:\a\1\s\packages\System.Net.Imap4.0.1.0\System.Net.Imap4.sln.metaproj:错误 MSB3202:项目文件“d:\a\1 \s\packages\System.Net.Imap4.0.1.0..\example\example.csproj" 找不到。

System.Net.Imap4.0.1.0 包结构

System.Net.Imap4.0.1.0/lib/net35(lib 内没有文件,只包含 net35 文件夹)

System.Net.Imap4.0.1.0/properties

为了成功构建项目,我在这里缺少什么?

注意:我也尝试查看隐藏文件,但找不到 example.csproj 文件。

【问题讨论】:

    标签: c# .net deployment azure-devops


    【解决方案1】:

    在 Azure DevOps 中面临 System.Net.IMAP4 的构建错误

    这个问题应该来自那个 nuget 包。我从nuget.org下载了那个nuget包,然后解压,发现包里没有example.csproj的文件:

    所以,这个问题与包有关,我不确定你是否是那个包的所有者/作者,如果是,你需要重新创建那个包。

    另外,我有很长时间使用/支持nuget。根据我的经验,这个包是不正确的。众所周知,nuget:

    任何现代开发平台的基本工具都是一种机制 开发人员可以通过它创建、共享和使用有用的代码。 通常这样的代码被捆绑到包含编译的“包”中 代码(作为 DLL)以及项目中需要的其他内容 使用这些包

    但是那个包打包了整个项目,这不是正确的方法,它应该只包含dll文件。

    您可以查看this document了解一些详细信息。

    希望这会有所帮助。

    【讨论】:

    • 我不是那个 IMAP4 包的作者。我不知道重新创建包。我无法移除包裹,因为它是强制性的。我该如何解决这个问题?
    • 我在 Github 中打开问题也是为了通知所有者。 IMAP4 Issue
    • @AshokkumarGanesan,最好的解决办法是让作者更新包,但你要知道,那个包是六年前的产品,没有激活记录。因此,我建议您需要仔细检查该软件包是否对您是强制性的。如果是,则必须重新创建它,新包只需要包含.dll文件,请查看我的其他线程如何操作:stackoverflow.com/questions/43277715/…
    • 让我检查一下,否则我必须在 IMAP4 上搜索备用。你有什么想法吗?
    • 使用 IMAP4,我检索电子邮件并验证 From、To、Subject、Body 内容。
    【解决方案2】:

    通过以下更改解决了构建错误。

    1. 导航到此文件夹路径 /../System.Net.Imap4.0.1.0

    1. 打开 System.Net.Imap4.sln 文件并从文件中删除或注释 example/example.csproj 行。

    2. 构建项目

    3. 构建成功

    【讨论】:

    • 啊哈,是的,这就是这个问题的解决方法,我以前使用nuget,我的第一个想法是创建一个新的nuget包,而不是直接修改包的内容。但是这种解决方法需要您每次都在本地修改包的内容。当你发布你的包时,你需要特别注意它。
    • 当然我会在发布期间专心
    • 感谢您在此处分享您的解决方案,您可以接受它作为答案,这样它可以帮助遇到相同问题的其他社区成员,我们可以存档此线程,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2021-12-09
    • 2022-12-11
    相关资源
    最近更新 更多