天天看點

.net framework 4.0的NuGet包制作

為啥做這個呢,因為要将公司内部的老的.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(工具>外部工具)定義了一個指令。

.net framework 4.0的NuGet包制作

要確定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;執行目錄選擇

需要生成的時候,點選一下要生成的Project,然後就可以點選Tools > 4.0NuGet指令

.net framework 4.0的NuGet包制作

稍等片刻就生成了。

這樣生成的包在Project的根目錄,但是版本和描述資訊呢都不對,請自動修改檔案名和檔案内部的描述檔案内容。

用啥軟體打開,7-ZIP即可,因為包就是一個壓縮包。