分发引用NuGet包的项目

时间:2014-11-16 08:45:14

标签: visual-studio nuget

我有一个产品,它本质上是一个开发人员工具包 - 一组.NET程序集(仅编译)用于特定目的。产品安装还包括使用示例,我以源代码形式以Visual Studio项目的形式分发。其中一些示例引用了其他NuGet包(产品本身未使用)。具体来说,它是Rx-Main软件包(适用于Microsoft Reactive Extensions),但它也可以是其他软件包。

在我的测试中,我从示例中引用了这个包,确认了许可条件,观察了它添加到项目结构中的所有文件(包括为许多平台构建的包组件),然后将它们包含在我的安装中。这有效,但有以下问题:

1)我不确定以这种方式重新分发软件包是否符合许可条件。至少我希望最终用户在Visual Studio中打开项目时会被要求重新确认包许可条件,但它没有发生。

2)软件包二进制文件不必要地包含在安装中,使其更大。我可以放心地假设用户有Internet连接并可以下载该软件包。因此,我更愿意只将“参考”分发给包。只有当用户真正需要该示例时,他才会下载引用包。

我试图通过从项目/安装中删除'packages'目录并仅保留packages.config文件(它似乎包含包标识/引用)来做到这一点。我希望当在Visual Studio中打开这样的项目时,包将被检测为丢失并重新下载等。但它不起作用 - 它只是抱怨丢失的程序集(应该来自引用的程序包),并使没有尝试加载包。

问题是,如何在不实际分发包本身的情况下分发引用NuGet包的Visual Studio项目(源代码形式)?

1 个答案:

答案 0 :(得分:1)

您很可能正在寻找NuGet的package restore feature