沒安裝vs怎樣生成dll?
比起VS那龐大的體積和編碼效率,我還是更喜歡使用Rider(和VS的神級插件Resharper是同一家公司的產品),那么在沒有安裝VS的電腦上是否可以在命令行下把C#代碼生成dll呢?
我們知道可以調用msbuild來生成dll,我找到Rider的安裝目錄,發現它也有MSBuild目錄和MSBild.exe,那么能否使用這個MSBuild來編譯dll呢?帶着這個好奇心我動手測試了一下,結果可行,那么也可以判斷vs在生成dll時也是調用的msbuild來執行的。
PS.我有台電腦沒有安裝VS,只裝了Rider來寫C#。
為什么需要生成dll?
在Unity中,其實C#代碼也是會生成dll,而.net項目就更加明顯了,是會把源代碼編譯為dll。
- 比如使用.net開發的項目,參考這篇《游戲微端的多渠道思路和簡易的自動化打包工具》
- 使用ILRuntime做為游戲熱更方案,熱更工程在自動化打包過程中需要編譯dll
使用msbuild
msbuild生成dll的命令:
msbuild /m %codePath% /t:clean;Rebuild /p:Configuration=Release /fl /flp:logfile=%log_file%;verbosity=diagnostic
生成成功的日志
>已完成生成項目“E:\Code\KSFramework_ILRuntime\HotFix_Project\HotFix_Project.csproj”(clean;Rebuild 個目標)的操作。
已用時間 00:00:04.88
msbuild是什么?
msbuild(微軟構建工具)是一個免費、開源的構建工具,可以用來編譯.net的源代碼
開源地址:https://github.com/dotnet/msbuild
微軟文檔:https://docs.microsoft.com/visualstudio/msbuild/msbuild
可能遇到問題
驗證msbuild是否添加成功,在cmd中輸入msbuild,出現這個提示就是成功了
C:\Users\qing>msbuild
用於 .NET Framework 的 Microsoft (R) 生成引擎版本 16.7.0+b89cb5fde
版權所有(C) Microsoft Corporation。保留所有權利。
如果提示:
'msbuild' 不是內部或外部命令,也不是可運行的程序或批處理文件。
那么請把Rider安裝目錄下的msbuild路徑添加到系統的環境變量path中