为啥做这个呢,因为要将公司内部的老的.NET程序所引用的DLL进行统一管理。这里服务端使用了一个叫做NuGetServer(官网:NuGet Server)的开源工具,部署在内部的Web服务器上。
制作NuGet包,我是先从.NET Standard 2.0的SDK风格的文件去创建的,特别容易。但是.NET 4.0这种废了好大周折!
试过直接通过DLL生成,但是会遇到包描述、版本等信息不自动更新的问题,最重要的DLL所引用的NuGet.org的包,不能自动包含进去。
也试过通过命令行进行每个单独的Project进行生成,也遇到包描述、版本等信息不自动更新的问题。NuGet.Org的包没问题。
最后呢使用Tools>External Tools(工具>外部工具)定义了一个命令。
要确保MSBUILD和NUGET好用,需要找到系统环境变量,添加路径(记得重启电脑,以便生效)。
找到Path项
1、增加:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
2、增加:E:\VS\DotNet.WMS.US\DLL\DotNet
第一个是MSBuild,如果你是VS 2019社区版,直接复制,如果不是,请找到相应的路径。
第二个是NuGet.exe的目录,请选择您自己的目录。
这块设置参考这篇文章:https://www.cnblogs.com/chenug/p/9290281.html
命令:del *.nupkg ; $roj=dir *.csproj ;MSBuild $roj; nuget pack $roj ; $nupkg= dir *.nupkg;
执行目录选择$(ProjectDir)
需要生成的时候,点击一下要生成的Project,然后就可以点击Tools > 4.0NuGet命令
稍等片刻就生成了。
这样生成的包在Project的根目录,但是版本和描述信息呢都不对,请自动修改文件名和文件内部的描述文件内容。
用啥软件打开,7-ZIP即可,因为包就是一个压缩包。