【问题标题】:How to manage own nuget package per project in the solution如何在解决方案中管理每个项目自己的 nuget 包
【发布时间】:2013-04-17 07:17:46
【问题描述】:

我们想将一些第三方程序集打包到我们自己的 nuget 包中。我使用 NuGet 包资源管理器创建了一些包,并将其发布到我们的 nuget 服务器。我也可以将它安装到我们的解决方案中,但是我有两个问题:

  1. 小问题:当我安装我们的 nuget 包时,会创建一个包含 packages.config 的 .nuget 目录。这仅包含对我添加的包的引用。然而,我们已经在我们的解决方案中安装了几个 nuget 包。每个包都在它自己的子文件夹中的 packages 子文件夹中,而且 packages 文件夹中有一个 repositories.config。存储库配置指向其他 packages.config,但不是由我的操作创建到 .nuget 文件夹中的那个。即使我尝试使用控制台将 nuget 包安装到特定项目中也是如此!
  2. 主要问题:当我在“管理解决方案的 NuGet 包...”中查找已安装的包时,我只看到我的包的“卸载”按钮。我希望并希望有一个管理按钮,就像我们为其他 nuget 包所拥有的一样,它允许在树视图中检查/取消选中每个项目的包。

我使用最新的 VS 2012,最新的 NuGet (2.2.xxx)。

【问题讨论】:

    标签: visual-studio-2012 nuget nuget-package package-managers


    【解决方案1】:

    问题是由错误的包创建引起的。创建包时(使用 NuGet 包资源管理器),在右侧大“包内容”窗格中,您希望通过右键单击并从上下文菜单中选择“添加 Lib 文件夹”来创建一个 lib 文件夹。然后你想将你的程序集添加到这个文件夹而不是包内容的根目录中。 拥有正确的包结构有助于实现预期的行为:不再创建 .nuget 文件夹,我也可以“管理”我的包。

    【讨论】:

    • 如果您没有使用 NuGet 包资源管理器,而是在命令行创建包,则结构将是正确的。当我比较一个好包和一个坏包时,我就是这样发现了这个错误。
    • @MrFox 也许包装的其他部分与预期的无数约定不一致?我也不确定是否适用区分大小写。所以你说虽然结构看起来不错,但你仍然有这个问题?
    • 是的,可能是这样,我只是不知道这些约定。
    • 我什至有可以按项目安装和管理的 nuget 包,但看不出它们与我当前的项目有什么区别。
    • 我不再参与激发我的 SO 条目的项目,而且我太忙了,不能只摆弄一些骨架。希望有人能参与进来。
    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 2013-04-07
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多