Mam zestaw, który nie ma silnej nazwy. Nie mam kodu źródłowego dla tego.Jak podpisać plik DLL Assembly .NET o silnej nazwie?
Potrzebuję go teraz do podpisu. Czy jest jakiś sposób na zrobienie tego?
Mam zestaw, który nie ma silnej nazwy. Nie mam kodu źródłowego dla tego.Jak podpisać plik DLL Assembly .NET o silnej nazwie?
Potrzebuję go teraz do podpisu. Czy jest jakiś sposób na zrobienie tego?
Użyj narzędzia Strong Name Tool (sn.exe).
Jeśli oryginalny zespół jest oznaczony do opóźnionego podpisu, można użyć narzędzia sn.exe.
Jeśli oryginalny zestaw nie jest tak oznaczony, można go zdekodować za pomocą programu ildasm.exe, a następnie skompletować go za pomocą programu ilasm.exe i podać argument/key. Referencje: [1][2].
Przykład:
> ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll
> ilasm /dll /key=key.snk MYASSEMBLY.il
http://msdn.microsoft.com/en-us/library/xc31ft41(VS.71).aspx MSDN powiedział używając: al /out:MyAssembly.dll MyModule.netmodule/keyfile: sgKey. snk. Ale nie udało mi się – guaike
Co zrobić, aby zachować synchronizację pliku pdb? –
Jeśli zespół odwołuje się do innej biblioteki DLL, którą również silnie podpisujesz, pojawiają się błędy informujące, że nie może znaleźć wersji bez podpisu. Czy istnieje sposób aktualizacji odwołanych sygnatur DLL w pliku? – Brain2000
You can sign the assembly with the help of VS command prompt.
Just type the path in VS cmd prompt where your project is physically present.
In VS cmd
<your project path>sn -k <name of your project>.snk
Then go to your project in Solution Explorer -> properties -> Signing -> check checkbox
-> Browse to the key which is created using VS cmd.
OP: _ "Nie mam kodu źródłowego." _ – MickyD
Łatwy sposób do podpisania 3rd montaż partii jest używana wersja GUI
z Assembly Strong Name Signer
, dostępny tutaj: http://brutaldev.com/post/2013/10/18/NET-Assembly-Strong-Name-Signer.
Kod źródłowy jest dostępny na Github. Używa Mono.Cecil
do brudnej pracy. Dostępne również jako narzędzie command line
.
Znalazłem zalecany ildasm
->ilasm
podróż w obie strony sugerowany w kilku miejscach uciążliwe i lepiej unikać. Nie mam pojęcia, jak
obsługuje zależności wielu złożenia. Jeśli tak się nie stanie, problem i jego rozwiązanie opisano tutaj (opublikowany w 2008 r.): http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/
bardzo łatwy w użyciu, dzięki! – tinamou
Spójrz na moją StrongNameResigner. Może podpisać lub zrezygnować ze złożenia i wszystkich zespołów, które zależą od niego, a także aktualizować wszystkie odwołania za pomocą polecenia podobnego do tego:
StrongNameResigner.exe -a "c:\temp" -k "key.snk" Foo.Bar
Program sn.exe nie może tego zrobić, ponieważ program sn.exe może ponownie podpisać się przy użyciu nazwa pliku – guaike
Myślę, że sn.exe działa, jeśli oryginalny zestaw jest oznaczony jako podpisany później. tak? – Cheeso
do Cheeso: Tak, masz rację, znalazłem sposób: http: //ryanfarley.com/blog/archive/2010/04/23/sign-a-.net-assembly-with-a-strong-name- without-recompiling.aspx – guaike