3

是否可以使用与Nuget存储库没有连接的paket?我们有我们的nuget存储库,我们在其中存储所有必要的库。我们使用paket来获取它。当我们在公司网络下工作或使用 vpn 时,一切正常。但是paket无法到达我们网络之外的nuget存储库。毫无疑问,这种行为是意料之中的。

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

UPD如何禁用 nuget 机器范围的缓存?——那不是我想要的。Nuget本身工作正常,问题是关于paket.exe

4

2 回答 2

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 文件放在那里。

于 2017-01-19T21:15:24.417 回答
0

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

同时我注意到 paket 首先尝试从本地 nuget 缓存 (%userprofile%.nuget) 中获取包

你的观察是正确的。根据我的经验,只需将请求的库%USERPROFILE%/.nuget/packages放入.paket\paket.exe restore. 它会起作用的。

请注意,我们需要使用Nuget 包;例如:从另一台计算机.nuget文件夹复制,或在您连接时生成。不要复制 paketpackages文件夹,因为它不起作用。

于 2019-04-25T07:46:28.227 回答