【问题标题】:Internal NuGet install fails to install内部 NuGet 安装无法安装
【发布时间】:2015-04-09 22:28:48
【问题描述】:

我设置了一个内部 NuGet 服务器来托管内部 dll 包。设置进行得很顺利。规范和 nupkg 已成功创建。但是,当我启动一个测试项目并尝试从 Manage NuGet Packages 安装它时,它会失败。

内部包显示在“管理 NuGet 包”下,带有一个安装按钮。我点击安装,但它什么也没做。我检查了我的引用文件夹,并没有看到任何添加。

如果我在解决方案级别选中管理 NuGet 包,它有一个绿色复选标记表示它已安装,但没有给我一个管理选项来查看它安装到哪个项目。

我的问题与下面的这篇文章有些相似。唯一的区别是我的库没有子文件夹。我只有 1 个 dll,我将 nupkg 文件直接放在 Packages 文件夹下。 NuGet package fails to install

我不确定我做错了什么。有什么建议吗?

【问题讨论】:

  • 听起来您添加的 NuGet 包只是一个解决方案包。包 ID 是否显示在解决方案的 package.config 文件中(在 .nuget/packages.config 中)?如果不查看 .nupkg 文件中的内容,很难判断它是否是仅解决方案包。
  • 不,没有。这就是我在 .nuget > packages.config <?xml version="1.0" encoding="utf-8"?> <packages> <package id="NuGet.CommandLine" version="2.8.2" /> </packages> 中的内容,不过我的规范文件中确实指定了一个 id。我是配置内部 NuGet 的新手。我不知道有什么区别。我正在关注一个教程,我认为可以在两个级别(解决方案和项目)安装相同的 nupkg。
  • 无法在两个级别上安装 NuGet 包。如果 NuGet.CommandLine 是您安装的包,那么这是一个解决方案级别的包。如果你安装另一个包,比如 NUnit,那么它将在项目级别安装。
  • @MattWard 感谢您的提示。我回去再次阅读文档。我把它修好了。基本上我正在查看文档如何创建内部包并将其复制并粘贴到“包”文件夹中。问题是它只是整个画面的一个子集。我找到了很好的完整文档并且能够解决这个问题。再次感谢您对此进行调查。

标签: nuget nuget-package nuget-server


【解决方案1】:

感谢@MattWard 提到该软件包已在解决方案级别安装。我回到这里的官方文档:https://docs.nuget.org/create/creating-and-publishing-a-package 来查看创建解决方案级别包与项目级别包的区别,最重要的是创建包(lib、内容等文件夹)时的 nuget 命名约定。我再次使用命名约定重新打包了我的 dll,它可以工作了!

【讨论】:

    猜你喜欢
    • 2019-04-15
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多