【问题标题】:NuGet restoring packages but missing DLLsNuGet 还原包但缺少 DLL
【发布时间】:2017-06-29 15:18:29
【问题描述】:

我已经在我的机器上成功运行了一个 Visual Studio 解决方案,但是当我提交对 BitBucket 的更改并且另一个用户已经拉下该项目并在 Visual Studio 或 TeamCity 上构建它时,我们收到了以下错误,例如:

error CS0234: The type or namespace name 'Entity' does not exist in the namespace 
'System.Data' (are you missing an assembly reference?)

查看项目时,我可以看到每个 NuGet 包文件夹都存在,但缺少 DLL。这本身就是一个easy fix;我只是删除了有问题的包,然后在下一次构建时,NuGet 会恢复包,并且 DLL 现在存在。

我不明白为什么 NuGet 在第一次尝试时没有获取 DLL?

【问题讨论】:

    标签: .net visual-studio dll nuget nuget-package-restore


    【解决方案1】:

    我花了一段时间才弄清楚发生了什么,但问题不是 NuGet,而是源代码控制的设置。

    我没有将 packages 文件夹添加到 Mercurial 的忽略列表中。默认情况下,它将 NuGet 包上传到 BitBucket 但忽略 DLL。当另一个用户下载项目时,它会拉下包,Visual Studio 或 TeamCity 看到包文件夹并假设包已经下载。将包文件夹添加到 .hgignore 文件将阻止这种情况发生。

    【讨论】:

    • 感谢您在这里分享您的解决方案,您可以将其标记为答案,这样可以帮助遇到相同问题的其他社区成员。
    • @Leo-MSFT - 感谢您的提醒,我只是在等待 2 天的时间来接受我自己的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2015-11-22
    • 2021-11-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多