我们如何安排保留解决方案使用的所有NuGet包的本地副本?

时间:2015-12-15 21:46:25

标签: nuget

我们正在启动一个非常长期的项目(让我们这样说,我们需要能够从现在起编译它不少于 15年年)。我们真的不认为我们依赖的随机NuGet包将会存活那么长时间。

安排保留所有内容的本地副本的正确方法是什么?

也就是说,我们应该能够将新的机器部署到我们的固定依赖项,然后执行git clone,然后执行某些事情,然后执行msbuild,并且所有内容都构建,而不需要连接到互联网

2 个答案:

答案 0 :(得分:1)

您可以host您自己的本地Nuget服务器。

同样在解决方案中,您可以启用Nuget包还原。

您可能希望在项目中保留关于如何托管服务器以及备份所在位置的说明,这样幸存者可以在15年后重振项目。

以下是托管您自己的NuGet包的某些documentation的链接。

答案 1 :(得分:1)

我们选举并决定RetroCoder的本地nuGet服务器的方法是正确的方法;但是他提供的文件已经过时了。

可在此处找到更好的文档:https://docs.nuget.org/create/hosting-your-own-nuget-feeds总结:

  1. 创建空的C#web项目
  2. 添加包NuGet.Server
  3. 将API密钥添加到<add key="apiKey" value="password" />
  4. 下的web.config <appSettings>
  5. 发布网络应用程序
  6. 将新包推送到它运行

    nuget.exe push path\to\package.nupkg -s http://nugetserver/webapp password
    

    推送所有包以进行解决方案运行

    find packages -name '*.nupkg' -print0 | tr '/' '\\' | xargs -0 -L 1 -I % nuget.exe push % -s http://nugetserver/webapp password