1. 首页 > 大杂烩

使用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文件配置服务器使用端口。

使用BaGet构建内网Nuget服务器

配置端口号

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配置如下图所示:

使用BaGet构建内网Nuget服务器

visual studio 包管理服务器配置

本文由站内用户发布,不代表喵趣网立场,如有侵权请联系本站删除!欢迎转载分享!

联系我们

在线咨询:点击这里给我发消息

微信号:13-845-161

工作日:9:30-18:30,节假日休息