无网络环境构建.NET8项目:查询NuGet缓存包存储位置
.NET8 NuGet包缓存位置及无网构建方案
NuGet包缓存路径
不同操作系统下的默认缓存位置如下:
- Windows:
主包存储路径:%userprofile%\.nuget\packages
索引缓存路径(辅助用,核心依赖包存储在上述主路径):%localappdata%\NuGet\v3-cache - macOS/Linux:
主包存储路径:~/.nuget/packages
无网构建操作步骤
- 在联网机器上执行
dotnet restore,确保项目所有依赖包已下载到上述缓存路径中 - 将缓存路径下的
packages文件夹完整复制到无网机器的对应路径下 - 构建项目时,使用以下命令跳过还原步骤(直接调用本地缓存):
若需要明确指定本地源,可先添加本地缓存作为NuGet源:dotnet build --no-restore
之后直接执行# Windows示例 dotnet nuget add source "%userprofile%\.nuget\packages" --name LocalNuGetCache # macOS/Linux示例 dotnet nuget add source "~/.nuget/packages" --name LocalNuGetCachedotnet build即可
关于NU1301错误
error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json. 是因为NuGet默认尝试访问外网源获取依赖,通过上述使用本地缓存或指定本地源的方式,即可避免该错误,实现无网环境下的项目构建。
内容的提问来源于stack exchange,提问作者subbaraoc
相关产品推荐
相关产品推荐

