J'essaie d'appeler Add-Type -AssemblyName myassembly , et myassembly a été enregistré dans GAC, mais j'ai toujours eu l'erreur suivante:
Impossible d'ajouter le type. L'assemblage "myassembly" est introuvable.
Je sais comment Ajouter-Type à partir d'un emplacement de fichier, existe-t-il un moyen pratique de Ajouter-Type à partir de GAC ? p>
3 Réponses :
Pour charger à partir du GAC, vous avez besoin du nom d'assembly complet:
Add-Type -AssemblyName "Microsoft.Web.Deployment, Version=9.0.0.0", Colture=netural, PublicKeyToken=89956cdc9090cc76"
Et oui, c'est vraiment ennuyeux!
Il y a quelques erreurs de sorts. Il doit s'agir de "Microsoft.Web.Deployment, Version = 9.0.0.0, Culture = netural, PublicKeyTokwn = 89956cdc9090cc76"
Vous pouvez également utiliser [System.Reflection.Assembly] :: LoadWithPartialName ('Microsoft.Web.Deployment') Oui I sachez qu'il est obsolète et vous devriez utiliser Load () .
Souvent, vous pouvez ne pas avoir le nom complet et don ' t soin d'énumérer les assemblys dans le GAC. Cela vous permettra de charger l'assemblage. Si vous le souhaitez, vous pouvez ensuite extraire le nom complet à utiliser avec Load () pour vos scripts à l'avenir.
[System.Reflection.Assembly]::LoadWithPartialName('system.web.security')
PS c:\> [System.Web.Security.Membership].Assembly.Fullname
System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Si vous le copiez sur un autre ordinateur, vous devez le débloquer.
Utilisez le nom complet de l'assembly.
@PetSerAl J'ai oublié de tester le nom complet de l'assemblage, merci pour votre aide.