是否可以使用包没有连接到Nuget存储库?我们有一个nuget存储库,其中存储了所有必需的库。我们使用包来获取它。当我们在公司网络下工作或使用vpn时,一切都很好。但是包无法到达我们网络外的nuget存储库。毫无疑问,这种行为是预期的。
同时我注意到包首先尝试从本地nuget缓存(%userprofile%.nuget)获取包。期望的行为是,如果没有与原始nuget存储库的连接,则直接使用nuget本地缓存,并抛出有关它的警告,而不是错误(仅当缓存中没有所需的包时抛出错误)。这是可能的还是这样的功能没有提供(尚未)?据我所知,如果Nuget可以从本地缓存中获取包而无需连接到存储库,则它不会导致构建崩溃。由于
UPD如何禁用核机级缓存?-那不是我想要的。Nuget本身工作正常,问题是关于paket.exe
NuGet cache
是位于Users{CurrentUser}LocalNuGetCache
的文件夹,在将网络搜索和下载的软件包复制到packages
文件夹之前存储它们。
您可能正在寻找的是local repository
,例如文件系统中可用的任何文件夹。你甚至可以将它与网络存储库结合起来,这样它就可以在线和离线工作了。
paket.dependencies
content:
source C:MyLocalFeed
source \my.domainnetworkFolderFeed
source source https://nuget.org/api/v2
对要用作存储库的文件夹的结构没有进一步的要求。你唯一需要做的就是在这里加上你的*。nupkg文件。
我只是很难让包离线工作,所以我认为这个问题值得回答。
同时我注意到paket试图从本地nuget缓存(%userprofile%.nuget)优先
你的观察是正确的。根据我的经验,只需将请求的库放在%USERPROFILE%/.nuget/packages
中,然后执行.paketpaket.exe restore
。会成功的。
请注意我们需要使用Nuget包;从另一台计算机的.nuget
文件夹复制,或在您连接时生成。不复制包packages
文件夹,因为它不会工作。