离线使用paket

时间:2016-11-02 08:46:04

标签: .net msbuild nuget paket

是否可以使用 paket Nuget 存储库无连接?我们有 nuget 存储库,我们存储所有必需的库。我们使用 paket 来获取它。当我们在公司网络下工作或使用VPN时,一切正常。但 paket 无法访问我们网络外的 nuget 存储库。毫无疑问,这种行为是可以预期的。

与此同时,我注意到 paket 首先尝试从本地 nuget 缓存(%userprofile%.nuget)获取包。如果没有与原始 nuget 存储库的连接并且仅发出警告而不是错误(仅抛出错误),则所需的行为是直接使用 nuget 本地缓存。如果缓存中没有必需的包)。是否可能或尚未提供此类功能?据我所知, Nuget 如果可以从本地缓存中获取包而不连接到存储库,则不会使构建崩溃。感谢

UPD Howto disable nuget machine-wide cache? - 这不是我想要的。 Nuget 本身运行正常,问题是关于 paket.exe

2 个答案:

答案 0 :(得分:0)

NuGet cache文件夹主要位于Users\{CurrentUser}\Local\NuGet\Cache,并在将数据复制到packages文件夹之前存储来自网络搜索和已下载包的数据。

您可能正在寻找的是local repository,例如文件系统中可用的任何文件夹。您甚至可以将其与网络存储库结合使用,因此它可以在线和离线工作。

paket.dependencies内容:

source C:\MyLocalFeed
source \\my.domain\networkFolderFeed
source source https://nuget.org/api/v2 

您将要用作存储库的文件夹结构没有其他要求。您唯一需要的就是放置* .nupkg文件。

答案 1 :(得分:0)

我只是很难让paket脱机工作,所以我认为这个问题值得回答。

  

与此同时,我注意到paket试图从中获取软件包   本地nuget缓存(%userprofile%.nuget)首先

您的观察是正确的。根据我的经验,只需将请求的库放在%USERPROFILE%/.nuget/packages中,然后执行.paket\paket.exe restore。  它将起作用。

请注意,我们需要使用 Nuget软件包;例如:从另一台计算机.nuget文件夹复制,或在连接时生成。 请勿复制paket packages文件夹,因为它无法正常工作。