When I was in Minneapolis, I was thinking to use the F# to write PowerShell snapin and cmdlet. I got the feeling that this can speed our development speed.
Because I use Visual Studio 2012 and it generates the .NET 4 binary. So I need to install PowerShell 3.0 in order to use .NET 4.0. You can use $psversiontable to check the CLR runtime version, make sure it is a number equal or greater than 4.
After compiling the above code, a DLL is generated. You have to use installutil.exe to add the snapin. The PowerShell snapin has Name = "aa", so you can use Add-PsSnapIn aa to load the DLL. You can also use installutil.exe /u to uninstall the snapin from your system. Make sure you open the cmd window or powershell window with administrator privilege.
I like the way F# write PowerShell snapin. The code is concise and easier to understand.
Tweet to fsharp
Because I use Visual Studio 2012 and it generates the .NET 4 binary. So I need to install PowerShell 3.0 in order to use .NET 4.0. You can use $psversiontable to check the CLR runtime version, make sure it is a number equal or greater than 4.
namespace Log4NetPsSnapIn
open System
open System.Management.Automation
open System.ComponentModel
[<RunInstaller(true)>]
type Log4NetSnapIn() =
inherit PSSnapIn()
override this.Name with get() = "aa"
override this.Vendor with get() = "bb"
override this.Description with get() = "dd"
[<Cmdlet(VerbsCommunications.Write, "Hi")>]
type WriteHelp() =
inherit Cmdlet()
override this.ProcessRecord() =
base.WriteObject("help");
After compiling the above code, a DLL is generated. You have to use installutil.exe to add the snapin. The PowerShell snapin has Name = "aa", so you can use Add-PsSnapIn aa to load the DLL. You can also use installutil.exe /u to uninstall the snapin from your system. Make sure you open the cmd window or powershell window with administrator privilege.
- If you are running 64-bit version machine, make sure you use installUtil.exe under C:\Windows\Microsoft.net\Framework64\.
- if your OS is 32-bit, you can use installUtil.exe under C:\Windows\Microsoft.net\Framework\
I like the way F# write PowerShell snapin. The code is concise and easier to understand.
Tweet to fsharp
No comments:
Post a Comment