没安装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:CodeKSFramework_ILRuntimeHotFix_ProjectHotFix_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:Usersqing>msbuild
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 16.7.0+b89cb5fde
版权所有(C) Microsoft Corporation。保留所有权利。
如果提示:
'msbuild' 不是内部或外部命令,也不是可运行的程序或批处理文件。
那么请把Rider安装目录下的msbuild路径添加到系统的环境变量path中