如何在解决方案中管理每个项目的自己的nuget包

时间:2013-04-23 22:17:32

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

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

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

1 个答案:

答案 0 :(得分:1)

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