为什么搭建公司内部的nuget服务器?
1、分工协作,公共代码引用的问题
2、垃圾代码 不好意思直接push到 nuget.org 上
3、公司不让开源(其实主要是 代码垃圾 不好意思)
Nuget.Server 可以部署在windows server 上 也可以用 docker 跑在linux上
docker 脚本
docker run -p 8230:80 -v $PWD/db:/var/www/db -v $PWD/packages:/var/www/packagefiles -e NUGET_API_KEY=3deaeb84-b66c-40cd-a7d9-0c80d43a7139 -d sunside/simple-nuget-server
-v 挂在本地目录,不存在自动创建,
apikey 是push delete 包的时候需要
windows版本
新建一个网站,NuGet 安装 NuGet.Server 的包,在 web.config 中配置 apikey ,packages 路径,发布iis即可。
nuget 操作(参考:nuget-cli)
pack :nuget pack //打包
push : nuget push -Source http://nuget-server.com -ApiKey 3deaeb84-b66c-40cd-a7d9-0c80d43a7139 包名.版本.nupkgs
delete :nuget delete -Source http://nuget-server.com -ApiKey 3deaeb84-b66c-40cd-a7d9-0c80d43a7139 包名.版本
.net framework 中直接直接用 nuget 打包
nuget 打包项目,如果存在项目引用 加上 -IncludeReferencedProjects 的参数即可把依赖项目一起打包
.net core 中使用 dotnet pack 打包
.net core AssemblyInfo 配置,在 项目.csproj中
<PropertyGroup>
<!--程序集属性-->
<Version>0.0.1</Version>
<Authors>haowang</Authors>
<Company>whyfate.cn</Company>
<Description>不可描述</Description>
<Copyright>Copyright © whyfate 2018</Copyright>
</PropertyGroup>
*版本号的很重要。