C# Powershell:二进制模块与脚本模块

C# Powershell:二进制模块与脚本模块,c#,powershell,dll,module,msbuild,C#,Powershell,Dll,Module,Msbuild,我正在为350多个项目(VS 2010)编写一个构建过程(在我的模块中包装msbuild)。这个模块现在包括很多功能。虽然,它的工作效率很高,但是,我已经开始考虑编写Dll而不是基于脚本的模块。还因为我可能在这些DLL中使用Win表单(C#) 我在谷歌上搜索这两种方法的性能和其他问题,但没有得到足够的信息 如果有人有这方面的经验,请给出一些建议,哪种方法更适合PS模块:二进制(.dll)或脚本(.psm1) 关于从PowerShell 2.0开始,将cmdlet作为脚本或二进制实现没有区别。事实

我正在为350多个项目(VS 2010)编写一个构建过程(在我的模块中包装msbuild)。这个模块现在包括很多功能。虽然,它的工作效率很高,但是,我已经开始考虑编写Dll而不是基于脚本的模块。还因为我可能在这些DLL中使用Win表单(C#)

我在谷歌上搜索这两种方法的性能和其他问题,但没有得到足够的信息

如果有人有这方面的经验,请给出一些建议,哪种方法更适合PS模块:二进制(.dll)或脚本(.psm1)


关于

从PowerShell 2.0开始,将cmdlet作为脚本或二进制实现没有区别。事实上,就cmdlet参数和其他功能而言,二进制cmdlet可用的任何内容都可用于脚本cmdlet。你可以多读一些来理解这一点


对我来说,这一切归结于语言的选择。如果您熟悉.NET和C#,那么可能需要实现二进制cmdlet。否则,只需使用脚本模块即可达到相同的目的。

谢谢Ravi。我更专注于性能和在UI的某些部分使用其他.net功能,如Winforms。好吧,即使我可以与.net和c兼容,开发cmdlet也意味着我必须与PS脚本兼容:)。