2012-12-20 51 views
4

NuGet网站有一个优秀的文章来托管您自己的NuGet饲料。在我们的情况下,我们是一家IT服务商,需要在开发人员可以使用它之前对其进行全面审查,因此我们希望托管我们自己的Feed,以提供“批准的软件包”。这篇文章的一个亮点就是如何将nuget包装下载以便托管。例如,如果我们想要托管EntityFramework 5.0.0,所以我们的开发人员可以使用它,我们如何在不使用NuGet的情况下获取包,因为策略阻止NuGet访问主机通过我们的防火墙?下载NuGet软件包用于自我托管饲料

回答

1
  1. 创建一个主机服务器(听起来像你有,但如果没有,它是安装和托管一个NuGet.Service)。
  2. 确认它的工作访问的主机(应该会看到一个非常简单的仪表盘称的NuGet服务号码等)
  3. 开放VisualStudio的选项,“Pakcage管理器” - >“包源”
  4. 添加您的内部主机在这里(可能类似于http://internalsvr/nuget

然后,您应该能够在本地安装源代码包。另外,你可以在那里推送东西,或将包放入~/packages/目录,它们将自动列在服务中。

+0

感谢您的回应Brad。我们的问题是获取我们想要部署到我们自己的主机的包,例如EntityFramework。如果没有NuGet,他们不会轻松到达软件包。我们只能在防火墙后面使用NuGet。 –

+0

假设_someone_已经获得软件包(不在现场或将笔记本电脑带回家),软件包将缓存在解决方案的文件夹中,然后可以将其上载到本地(内部)服务器。除此之外,你可能会去github/bitbucket并下载源代码并编译你自己的包并上传它。 –

3

假设你没有完全从nuget.org中断,你可以使用ProGet托管你的网络的饲料。由于ProGet允许您创建多个订阅源并连接到其他NuGet订阅源,因此您可以创建一个订阅源,例如“NuGet Cached”,然后是“Developer”订阅源,并为这两个订阅源指定相同的包存储位置。窍门是在“NuGet Cached”feed中设置一个连接到nuget.org,然后使用Pull Package功能将托管的NuGet包下载到本地提要。

通过这种方式,开发人员可以将Visual Studio(或任何他们用来获取软件包的工具)设置为指向仅包含明确拉下的软件包的“Developer”feed(因为这两个feed都将软件包存储在相同的位置)。您也可以将拒绝权限添加到“NuGet Cached”Feed中,以便它们根本无法连接到它。