使用BaGet构建内网Nuget服务器
Visual Studio的Nuget库有比较资源可以使用,充分利用可以有效减少重复造轮问题。但这些库需要连接网络才可以使用,若工作环境不具备联网条件,你可以使用BaGet及其他软件来实现内部局域网的包管理。
在网络上搜索BaGet,你可以获取到大量的使用BaGet构建内网包管理文章,但无法找到部分主机可以联网获取并下载项目中使用NuGet库下资源,其他主机不能联网但需要使用BaGet获取项目中的包资源,这也是我写此文章的原因,现给出解决方法以供参考。
操作步骤:
1) 将联网主机已下载的包文件拷贝到BaGet所在服务器
Visual Studio下载的包文件存储在%USERPROFILE%.nugetpackages下,用户需要packages目录拷贝到BaGet所在服务器的任意目录下,如E:GreenSoftwareBaGetpackages。
2) 运行BaGet网络服务器
用户安装.net core 3.1后通过运行dotnet E:GreenSoftwareBaGetbaget.dll来启动BaGet 服务器,在启动前修改appsettigs.json文件配置服务器使用端口。
配置端口号
3) 运行更新BaGet库脚本
注意:此脚本中BaGet服务器放置在E:GreenSoftwareBaGet目录,nuget.exe也放置在相同目录中,必须确保nuget.exe文件存在。
$source = "E:GreenSoftwareBaGetpackages"
$destination = "http://localhost:5000/v3/index.json"
$Env:PATH += ";E:GreenSoftwareBaGet"
$packages = nuget list -AllVersions -PreRelease -Source $source
$packages | % {
$id, $version = $_ -Split " "
$nupkg = $id + "." + $version + ".nupkg"
$path = [IO.Path]::Combine($source, $id, $version, $nupkg)
Write-Host "nuget.exe push -Source $destination ""$path"""
& nuget.exe push -Source $destination $path
}
4) 配置内网Visual Studio包服务器
当packages更新到BaGet服务器后,内网Visual Studio配置如下图所示:
visual studio 包管理服务器配置
本文由站内用户发布,不代表喵趣网立场,如有侵权请联系本站删除!欢迎转载分享!