10
votes

Utilisation de la bibliothèque .NET de PowerShell

J'ai un composant logiciel enfichable PowerShell pour manipuler une base de données. Le logiciel enfichable est juste une enveloppe pour la bibliothèque principale implémentée dans une dll de .NET distincte tout écrit en C #.

J'ai enregistré à la fois le logement enfichable et les DLL de mise en œuvre avec le GAC à l'aide d'installutil.exe

tandis que le composant logiciel enfichable fonctionne bien dans PowerShell, je dois être capable d'accéder aux détails de la DLL de mise en œuvre pour des éléments tels que Enums et similaires pour passer à travers comme des arguments sur les cmdlets.

Malheureusement, je ne peux pas accéder au contenu des classes à l'intérieur de PowerShell, même si les classes sont marquées comme publique et que tout ce que j'essaie d'accéder est également marqué comme public.

Dois-je faire quelque chose de spécial à la DLL de mise en œuvre afin de le rendre visible à l'intérieur de PowerShell?


0 commentaires

3 Réponses :


12
votes
Add-Type -AssemblyName "Your.Assembly.Name"
Kindness,Dan

0 commentaires


1
votes

J'ai utilisé la méthode de Steven pour charger la DLL. Je préfère utiliser un VaR pour le charger de manière à ce que vous ne voyiez pas le résultat de la sortie:

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


0 commentaires