简介
NuGet是一个自由开源软件包管理系统。用于Microsoft开发平台。以前称NuPack 2010年首次发布。已经进化为一个庞大的工具与服务生态系统。 NuGet作为Visual Studio扩展,能够简化在Visual Studio项目中添加、更新和删除库(部署为程序包)的操作。NuGet包是打包成单个ZIP 文件,文件扩展名是.nupkg,使用开放打包约定 (OPC) 格式,包含编译代码 (Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。从Visual Studio 2012开始,缺省预安装了NuGet。NuGet也集成入了SharpDevelop。NuGet也可以用于命令行或者脚本自动化。
注册nuget账号
- 前往nuget.org,然后通过微软账号登录或注册账号
- 登录成功后,点击右上方自己名称,点击API Keys
- 填写相关内容,然后点击Create
- 完成后显示如下:
- 点击上面的Copy,复制出生成的Api Key,此Key复制后请保留好,页面刷新后将不会在显示Copy只能重新生成
安装nuget
- mkdir /data/nuget
- docker中运行
docker run -d -p 9988:80 -e NUGET_API_KEY=apikey -v /data/nuget/database:/var/www/db -v /data/nuget/packages:/var/www/packagefiles --name nuget-server sunside/simple-nuget-server:latest
其中 apikey 替换为之前复制的内容 /data/nuget/packages 为上传后的包存放目录 /data/nuget/database 为nuget的数据库
上传nuget
- 下载nuget.exe,并将文件放置到C:\Program Files\dotnet 下载链接地址 https://dist.nuget.org
- dotnet pack 命令打包类库
- cd /bin/Debug 然后 nuget push -Source nuget-serverurl -ApiKey apikey class.nupkg
- dotnet pack -p:PackageVersion=1.0.1 设置版本号
nuget-serverurl 为nuget服务器的地址
apikey 为之前复制的内容
class.nupkg /bing/Debug下生成的文件
使用bat文件
@set nuget_source= nuget-serverurl
@set nuget_key= apikey
@set /p package_version=Enter the global nuget package version(like:6.6.6):
@echo bulid solution
dotnet build ..\project.sln
@echo package project
dotnet pack -p:PackageVersion=%package_version%
@echo nuget package successful
@echo push project
dotnet nuget push .\bin\Debug\project.%package_version%.nupkg -k %nuget_key% -s %nuget_source% --timeout 360
@echo all nuget package pushed
@pause
使用sh文件
NUGET_SOURCE= nuget-serverurl
NUGET_KEY= apikey
echo -e "Enter the global nuget package version(like:6.6.6): \n"
read PACKAGE_VERSION
echo build solution
dotnet build ..\project.sln
echo package project
dotnet pack -p:PackageVersion=$PACKAGE_VERSION
echo nuget package successful
echo push project
dotnet nuget push ./bin/Debug/project.$PACKAGE_VERSION.nupkg -k $NUGET_KEY -s $NUGET_SOURCE --timeout 360
echo all nuget package pushed