2012-01-27 17 views
5

MSDN stwierdza, że ​​gacutil.exe is not safe to use for production servers. Czy istnieje uzasadniony powód tego, czy Microsoft po prostu ćwiczy małą CYA? Czy to ostrzeżenie jest bezpieczne do zignorowania? Czy powinienem wreszcie nauczyć się korzystać z Instalatora Microsoft Windows 2.0?Bezpieczne instalowanie złożeń produkcyjnych za pomocą gacutil.exe?

MSDN jest dokładne sformułowanie:

Gacutil.exe jest wyłącznie do celów rozwojowych i nie powinien być używany do instalacji zespołów produkcyjnych w globalnej pamięci podręcznej zestawów.

+0

"nie jest bezpieczne"? Gdzie pojawia się to sformułowanie? –

+0

Przepraszamy. Sądzę, że trochę wnioskowałem. Powiedział, że jest to tylko do celów rozwojowych. Dodano język MSDN. – Jeff

+0

OK, lepiej. Chciałem tylko sprawdzić, co to jest, i nie mylić żadnych przyszłych czytelników. :) –

Odpowiedz

5

Elementy w pamięci podręcznej montażu globalnego są udostępniane w różnych programach.

Podczas używania Gacutil do dodania zespołu do pamięci podręcznej, nie będzie liczenia odwołań elementów, które od niego zależą. Dlatego możliwe jest, że gdy użyjesz GacUtil/U do usunięcia biblioteki z pamięci podręcznej, złamiesz inne programy, które od niego zależą.

W przeciwieństwie do tego Instalator Windows 2.0 zachowuje liczbę i usunie biblioteki z pamięci podręcznej zespołu, gdy żaden inny program tego nie wymaga.

+0

Ta odpowiedź technicznie odpowiedziała na moje pytanie lepiej niż Hans "(chociaż Hans przeczytał to pytanie i był pomocny w ten sposób). Dzięki! – Jeff

3

Dzieje się tak, ponieważ gacutil.exe nie będzie dostępny na komputerze docelowym. Jest częścią Windows SDK, wersja .NET 4.0 znajduje się w C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools. Masz go na swoim komputerze, ponieważ zainstalowałeś Visual Studio.

Po prostu robisz to z instalatorem. W projekcie instalacyjnym kliknij prawym przyciskiem myszy okienko System plików, Dodaj folder specjalny i wybierz "Folder podręczny globalnego składania". I umieść tam bibliotekę DLL.

+0

Kolejny dobry punkt. Nie myślałem o tym, ale to jest instalowane z VS, prawda? –

+0

Wiem, że to nie było na maszynie produkcyjnej, ale ponieważ rozszerzenie powłoki sprawia mi kłopot, pomyślałem, że mogę go po prostu skopiować. – Jeff

+1

Rozszerzenie powłoki nie jest już dostępne w .NET 4. Należy również pamiętać, że GAC został przeniesiony z c: \ windows \ assembly do c: \ windows \ microsoft.net \ assembly. –

Powiązane problemy