CA2210: Zestawy powinny mieć prawidłowe silne nazwy
TypeName |
AssembliesShouldHaveValidStrongNames |
CheckId |
CA2210 |
Kategoria |
Microsoft.Design |
Zmiana kluczowa |
Niekluczowa |
Przyczyna
Zestaw nie jest podpisany przy użyciu silnej nazwy, silna nazwa nie mogła być zweryfikowana, lub silna nazwa nie byłaby poprawna bez aktualnych ustawień rejestru komputera.
Opis reguły
Ta reguła pobiera i weryfikuje silne nazwy zestawu.Naruszenie występuje, jeśli spełniony jest którykolwiek z poniższych warunków:
Zestaw nie ma silnej nazwy.
Zestaw został zmieniony po podpisaniu.
Zestaw jest podpisany z opóźnieniem.
Zestaw został podpisany niepoprawnie lub podpisywania nie powiodło się.
Zestaw wymaga ustawienia rejestru aby poprawnie przejść weryfikację.Na przykład narzędzie Silna Nazwa(Sn.exe) zostało użyte w celu pominięcia weryfikacji zestawu.
Silna nazwa chroni klientów przed nieświadomym ładowaniem zestawu, który został zmieniony.Zestawy bez mocnej nazwy nie powinny być wdrażane poza bardzo ograniczonymi scenariuszami.Jeśli udostępniania się lub dystrybuuje zestawy, które nie są poprawnie podpisane, zestaw można zmieniać, środowisko uruchomieniowe języka wspólnego może nie załadować zestawu lub użytkownik będzie musiał wyłączenie weryfikację na swoim komputerze.Zestaw bez silnej nazwy posiada następujące wady:
Nie można zweryfikować jego pochodzenia.
Środowisko uruchomieniowe CLR nie może ostrzec użytkowników, jeśli zawartość zestawu została zmieniona.
Nie może zostać załadowany do globalnej pamięci podręcznej zestawu.
Należy zauważyć, że do załadowania i analizy zestawu podpisanego z opóźnieniem należy wyłączyć weryfikacji dla zestawu.
Jak naprawić naruszenia
Aby utworzyć plik klucza
Użyj jednej z następujących procedur:
Użyj narzędzia Assembly Linker (Al.exe), dostarczonego przez SDK .NET Framework.
Dla .NET Framework v1.0 i v1.1, użyj AssemblyKeyFileAttribute lub atrybutu AssemblyKeyNameAttribute.
Dla Program .NET Framework 2,0 użyj opcji kompilatora /keyfile lub /keycontainer/KEYFILE (Określ klucz lub parę kluczy, aby podpisać zestaw) lub /KEYCONTAINER (Określ klucz kontenera, aby podpisać zestaw) w C++).
Aby podpisać zestaw z silną nazwą w programie Visual Studio
Otwórz rozwiązanie w Visual Studio.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy Projekt, a następnie kliknij Właściwości.
Kliknij zakładkę Podpisywanie, a następnie wybierz pole wyboru Podpisz zestaw.
Z Wybierz plik klucza silnej nazwy, zaznacz Nowy.
Wyświetlone zostanie okno Tworzenie klucza silnej nazwy.
W Nazwa pliku klucza wpisz nazwę dla klucza silnej nazwy.
Określ, czy chronić klucz za pomocą hasła, a następnie kliknij OK.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy Projekt, a następnie kliknij Właściwości.
Aby podpisać zestaw silną nazwą poza programem Visual Studio
- Użyj narzędzia silnej nazwy (Sn.exe) dostarczanego przez SDK .NET Framework.Aby uzyskać więcej informacji, zobacz Sn.exe (Narzędzie silnych nazw).
Kiedy pominąć ostrzeżenia
Pomijaj to ostrzeżenie od tej reguły jedynie jeśli zestaw jest używany w środowisku gdzie manipulowanie zawartością nie ma znaczenia.
Zobacz też
Zadania
Porady: podpisywanie zestawu silną nazwą