2014-03-25 40 views
0

我正在研究在内部使用NuGet来共享跨多个解决方案使用的程序集。尽管文档使它看起来很简单,但我只是遇到了一些问题。我在这个阶段有两个问题:不能使用自制的NuGet包

1)当我创建包时,NuGet报告它有'没有依赖关系'。实际上,程序集的项目对其他(官方)NuGet包有很多依赖关系。我认为NuGet会发现这一点。有什么我需要做的,以便NuGet知道我的程序集本身具有NuGet依赖性?

2)当我试图将包添加到另一个解决方案中的项目时,它实际上并没有将dll添加到项目中(即在项目的引用中)。软件包管理器GUI在安装列表中列出软件包,但不显示“管理”按钮,与其他软件包一样。相反,它只显示一个“卸载”按钮。所以就好像整个解决方案现在已经知道我的软件包了,但是我不能将它作为对任何项目的参考,这显然是没有用的。无论我使用GUI还是命令行进行安装,都会发生这种情况。有谁知道为什么会发生这种情况?

在此先感谢。

回答

0

对于问题1,如果您使用nuget.exe包并且您的项目安装了某些软件包,则这些软件包将作为依赖项添加。如果软件包安装到主项目引用的另一个项目,请执行nuget.exe包-includereferencedprojects。欲了解更多信息,请参阅http://docs.nuget.org/docs/reference/command-line-reference#Pack_Command_Examples

对于问题2,您可能安装了解决方案级包,其中没有Content或Lib文件夹。如果您安装了项目级软件包,则应该能够看到管理按钮。

希望这会有所帮助。