13

I have a PowerShell snap-in for manipulating a database. The snap-in itself is just a wrapper for the main library implemented in a separate .NET DLL all written in c#.

I have registered both the snap-in and the implementation DLLs with the GAC using installutil.exe

Whilst the snap-in works fine in PowerShell, I need to be able to access the implementation DLL details for things like enums and the like for passing through as arguments to the cmdlets.

Unfortunately, I can't access the contents of the classes inside PowerShell even though the classes are marked as public and everything I'm trying to access is also marked as public.

Do I have to do something special to the implementation DLL in order to make it visible inside PowerShell?

3 Answers 3

14
Add-Type -AssemblyName "Your.Assembly.Name"

Kindness,

Dan

Sign up to request clarification or add additional context in comments.

Comments

5

Add-Type will work for PowerShell V2 as described by Daniel.

You can also use reflection in both V1 and V2 -

[System.Reflection.Assembly]::LoadFile('path to your dll')

Comments

2

I used Steven's method to load dll. I prefer to use a var to load it so that you would not see result in output result:

 $loadLib = [System.Reflection.Assembly]::LoadFile('path to your dll');

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.