Comment puis-je trouver les PublicKeyToken pour une dll?
J'ai besoin de recréer un fournisseur dans mon web.fichier de config qui ressemble à quelque chose comme ceci:
<membership defaultProvider="AspNetSqlMemProvider">
<providers>
<clear/>
<add connectionStringName="TRAQDBConnectionString" applicationName="TRAQ" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0"
name="AspNetSqlMemProvider"
type="System.Web.Security.SqlMembershipProvider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"
/>
</providers>
</membership>
Cependant, je reçois une erreur d'exécution en disant cette assemblée ne peut pas être chargé, et je pense que c'est parce que j'ai du mal PublicKeyToken. Comment puis-je regarder les PublicKeyToken pour mon montage?
Sinon, je vais entièrement le mauvais sens avec cette?
- Double Possible de l'Obtention de la PublicKeyToken de .Net assemblages
Vous devez vous connecter pour publier un commentaire.
À l'aide de PowerShell, vous pouvez exécuter cette instruction:
À la sortie de fournir la Version, Culture et PublicKeyToken comme indiqué ci-dessous:
À l'aide de sn.exe utilitaire:
ou le chargement de l'assemblée dans Réflecteur.
Si vous avez la DLL ajoutée à votre projet, vous pouvez ouvrir le fichier csproj et voir la Référence de la balise.
Exemple:
sn -T <assembly>
en ligne de commande Visual Studio.Si une assemblée est installé dans le global assembly cache, il est plus facile d'aller à
C:\Windows\assembly
et le trouver dans la liste de GAC assemblées.Dans votre cas précis, vous pourriez être un mélange de type de nom complet avec de l'assemblée de référence, vous voudrez peut-être jeter un oeil à MSDN.
Réponse est très simple d'utilisation le .NET Framework outils
sn.exe
. Donc, ouvrez Visual Studio 2008 Invite de Commande et puis point à la dll du dossier que vous souhaitez obtenir la clé publique,Utilisez la commande suivante,
Cela vous donnera le jeton de clé publique. N'oubliez pas une chose, cela ne fonctionne que si l'assemblée doit être fortement signé.
Exemple
- Je utiliser l'Explorateur Windows, accédez à C:\Windows\assembly , trouver celui dont j'ai besoin. À partir des Propriétés vous pouvez copier le PublicKeyToken.
Ce n'est pas basé sur Visual Studio ou les autres services publics, en cours d'installation.
Simplement en ajoutant plus d'infos, je n'ai pas pu trouver sn.exe utilitaire les lieux, dans mon cas c'était C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
Entraînera
Vous pouvez également vérifier par la méthode suivante.
Aller à la Run : tapez le chemin d'accès de fichier DLL pour laquelle vous avez besoin de la clé publique.
Vous trouverez 2 fichiers :
1. __AssemblyInfo_.ini
2. Fichier DLL
Ouvrir ce __AssemblyInfo_.fichier ini dans le bloc-notes , vous pouvez voir ici Jeton de Clé Publique.
Comme @CRice dit, vous pouvez utiliser la méthode ci-dessous pour obtenir une liste des personnes dépendantes de l'assemblée avec publicKeyToken
je l'utilise généralement comme un LinqPad script
vous pouvez l'appeler comme
DependencyInfo("@c:\MyAssembly.dll");
du code