我正在为350多个项目(VS 2010)编写一个构建过程(在我的模块中包装msbuild)。该模块现在包含许多功能。虽然它很有效,但是,我已经开始考虑编写一个Dll而不是基于脚本的模块。另外因为我可以在这些dll中使用Win-Forms(C#)。
我正在Google搜索两种方法的性能和其他问题,但没有获得足够的信息。
如果有人有这方面的经验,请提供一些建议,告知PS模块哪种方法更好:二进制( .dll)或脚本( .psm1)
此致
答案 0 :(得分:2)
从PowerShell 2.0开始,将cmdlet实现为脚本或二进制文件没有区别。实际上,对于cmdlet参数和其他功能,脚本cmdlet可以使用二进制cmdlet可用的任何内容。您可以阅读更多about Advanced Functions来理解这一点。
对我而言,这一切都归结为语言的选择。如果您熟悉.NET和C#,则可能需要实现二进制cmdlet。否则,只需使用一个可用于相同目的的脚本模块。