Jak zrobić znak zespołu, który został już wbudowany w dll specjalnie fletu.dll
Powodem, dla którego chcę podpisać bibliotekę dll jest to, że chcę dodać ją do globalnej pamięci podręcznej Assembly. Assembly jest silnikiem parsującym css napisanym w Javie i przeportowanym do J#. Używam VS2008, więc nie mogę tworzyć projektów J#. Nie ma przypisanego silnego klucza nazwy i nie mam pojęcia, jak to zrobić teraz, gdy jest zbudowany.
Ktoś ma jakieś pomysły?
5 answers
Po drobnych poszukiwaniach znalazłem Ten post , który wyjaśnia jeden sposób.
Exerpt:
Od a VS.NET wiersz polecenia, wpisz:
- Generowanie pliku kluczowego: klawiatura sn-K.snk
- uzyskać MSIL dla dostarczonego zestawu: ildasmdll /out:providedAssembly.il
- Zmień nazwę / przenieś oryginalny zestaw: / Align = "center" bgcolor = "# e0ffe0 " / cesarz chin / / align = center / dll / align = "left" / dll.orig
- Utwórz nowy zestaw z wyjścia MSIL i Pliku kluczowego zestawu: ilasm providedAssembly.il / dll / key= keyPair.snk
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-04 18:21:32
Krok 1: demontaż zespołu
ildasm myTest.dll /out:myTest.il
Krok 2: ponownie zmontować za pomocą klucza strong-name
ilasm myTest.il /res:myTest.res /dll /key:myTest.snk /out:myTestSN.dll
Do weryfikacji można użyć następującego polecenia:
sn -vf myTestSN.dll
Mam nadzieję, że to pomoże!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-12 18:56:31
Ten link pokazuje również, jak to zrobić, w tym, gdy jedno ze składów stron trzecich, które podpisujesz, ma odniesienie do innego niepodpisanego zgromadzenia, które podpisujesz:
Http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing
Edit: sorry, link nie działa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-14 17:45:08
Narzędzie Strong Name może ponownie podpisać istniejący zestaw, używając opcji-r. Jednak z tego, co rozumiem, Zgromadzenie musi być wcześniej podpisane lub podpisane z opóźnieniem... nie jestem pewien, czy możesz go użyć z niepodpisanym złożeniem, ale możesz spróbować
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-04 18:29:19
Thx szczególnie PJ8 za zamieszczenie odpowiedzi 8 lat temu, która jeszcze dziś mnie uratowała. "Mój" assembly musiał przejść do Gac, ale był zależny od SQLite-pcl-net, który od wersji 1.3.1 nie ma silnej nazwy, chociaż jest teraz zależny od silnej nazwy sqlitepclraw.bundle_green. Więc musiałem podpisać SQLite-pcl-net, aby podpisać swój własny montaż innymi słowy. Skończyłem od kołyski do grobu .plik Bat skonsolidowany z informacji w tym poście i kilka innych miejsc, które dziś podróżowałem. "Plusy" są 1. to to .bat działa w miejscu montażu, które chcesz podpisać 2. pokazuje co najmniej wskazówkę, gdzie te trzy narzędzia mogą znajdować się na maszynie deweloperskiej. 3. pokazuje wszystkie kroki w kolejności. "Wadą" jest oczywiście to, że przebieg może się różnić w zależności od tego, gdzie ildasm, ilasm i sn są rzeczywiście zlokalizowane na danym komputerze. Zdrówko.
REM Create a new, random key pair
"c:\program files (x86)\microsoft sdks\windows\v8.1a\bin\NETFX 4.5.1 Tools\sn" -k SQLite-net.snk
REM Store the key in the container MySQLiteKeys in the strong name Cryptographic Services Provider (CSP).
"c:\program files (x86)\microsoft sdks\windows\v8.1a\bin\NETFX 4.5.1 Tools\sn" -i SQLite-net.snk MySQLiteKeys
REM Disassemble to Intermediate Language
"c:\program files (x86)\microsoft sdks\windows\v8.1a\bin\NETFX 4.5.1 Tools\ildasm" SQLite-net.dll /out:SQLite-net.il
REM Rename original file
ren SQLite-net.dll SQLite-net.dll.orig
REM Reassemble to a strong-named version
"c:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm" SQLite-net.il /dll /key=SQLite-net.snk /out:SQLite-net.dll
REM Verify the assembly
"c:\program files (x86)\microsoft sdks\windows\v8.1a\bin\NETFX 4.5.1 Tools\sn" -v SQLite-net.dll
REM Deletes MySQLiteKeys from the default CSP
"c:\program files (x86)\microsoft sdks\windows\v8.1a\bin\NETFX 4.5.1 Tools\sn" -d MySQLiteKeys
REM View results
pause
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-06 22:38:36