Blog » Jak pobrać Public Key Token
Aktualna ocena: 5 (0)

Jak pobrać Public Key Token

 
Jak pobrać Public Key Token
Często konieczne jest odwołanie się do biblioteki poprzez użycie jej pełnej nazwy. Najwięcej czasu zajmuje znalezienie jaki Public Key Token został przydzielony bibliotece. W tym krótkim poście pokazane jest w jaki sposób podpiąć narzędzie, które bez wychodzenia z VS pokarze Public Key Token aktualnie używanej biblioteki.

Pełna nazwa biblioteki dll składa się z 4 członów: Assembly, Version, Culture, PublicKeyToken. Przykładowa nazwa wygląda następująco:

      "System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

Najczęściej żeby sprawdzić PublicKeyToken kopiuje się bibliotekę do GAC'a (ścieżka $:\Windows\assembly) i sprawdza we właściwościach jaki klucz posiada. Jest jednak szybsze i łatwiejsze wyjście z tej sytuacji. W tym celu wykorzystuje się narzędzie sn.exe (opis funkcji) dostarczane razem z VisualStudio. Narzędzie mimo, że jest dostarczane z VisualStudio nie jest dostępne z poziomu interfejsu. Aby je dodać należy wykonać następujące kroki:

1. Uruchomić VisualStudio i wybrać Tools -> External Tools…
2. W oknie External Tools należy kliknąć guzik Add i wpisać odpowiednio uzupełnić pola

     Title
: Get Public Key
     Command: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\sn.exe - dla VisualStudio 2008
                         C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sn.exe  - dla VisualStudio 2005
     Arguments: -Tp "$(TargetPath)"

Uwaga !!! Należy odznaczyć wszystkie checkboxy, za wyjątkiem jednego przy Use Output window




























Po ustawieniu wszystkich parametrów i kliknięciu guzika Apply funkcja Get Public Key pokaże się w menu rozwijanym Tools.





































Dla zwiększenia wygody można skrót do funkcji Get Public Key wstawić na pasek w VisualStudio. Aby to wykonać należy kliknąć:















Następnie na zakładce Commands na liście Categories wybrać Tools i wtedy w oknie z prawej strony Commands wybrać External Command + numer. Numer jest to pozycja rozszerzenia w oknie External Tools. W tym przypadku jest to 6.

Gdy źródła są zbudowane i jest nadana silna nazwa Public Key Token możemy odczytać z okienka Output.



Dodany: 2009-07-29 23:18:48 przez Michał Nikołajuk | Wypowiedzi: 4
Dodaj do MySpace Dodaj do Twitter Dodaj do Yahoo Bookmarks Dodaj do Facebook Dodaj do Google Bookmarks Dodaj do Yahoo MyWeb
Komentarze
El_Topo
A tutaj jest artykuł, jak zrobić to w przypadku, gdy assembly nie ma w GACu:
http://msdn.microsoft.com/en-us/library/ee539422.aspx
2010-07-28 04:36:03
El_Topo
Aby wygenerować pełną nazwę wystarczy dodać nowy wpis do external tools.
Command: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe
Arguments: /l "$(TargetName)"

Dostajemy wtedy odpowiedź w formacie

The Global Assembly Cache contains the following assemblies:
MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXXX, processorArchitecture=MSIL

Number of items = 1
2010-07-28 04:28:08
Kola
Zastanawiałem się nad tym od razu ale doszedłem do wniosku, ze nie ma się co bawić. Nie wykluczone, że kiedyś się za to zabiorę ;)
2009-07-30 14:04:03
Paweł Łukasik
Przydatny tips :). Mógłbyś pójść dalej i stworzyć narzędzie, które pozwoli na szybkie wygenerowanie już całej pełnej nazwy :)

Pozdrawiam,
Paweł
2009-07-30 11:45:17
Zostaw komentarz Subskrybuj



 Security code