How to add the Windows Powershell assembly / namespace in .NET

I thought it would be easy to create a PSSnapIn using .NET. But that wasn’t the case initially. When I first created a .NET project for creating a PSSnapIn and wanted to work with “Cmdlet” and “PSSnapIn”; I couldn’t add/find the assembly “System.Management.Automation” in my the project. Without this you can’t create your snap-in. The problem is still there and you can’t add this assembly in your project directly by choosing the add reference option.

So, the work around is to open the C# or VB.NET project file in notepad editor and add this line of code under the “<ItemGroup>” section. Save it and then again open in Visual Studio. You should be able to add the namespace “System.Management.Automation” now in your code file and can create the PSSnapIn.

<Reference Include="System.Management.Automation" />

Now, it was easy to create your customized snapin :)

Happy Programming!