Nie mogę budować projektów z silnym podpisem kluczem nazwy - zawsze pojawia się wiadomość w tytule.
Tak, projekt został pierwotnie skopiowany z innego komputera. Jednak nawet jeśli dodam nowy klucz za pośrednictwem karty Podpisywanie we właściwościach projektu, ten błąd jest nadal wyświetlany.
Próbowałem uruchomić program Visual Studio jako administrator i próbowałem ręcznie dodać klucze do magazynu certyfikatów systemu Windows.
Wsparcie!
Edycja: nie pojawia się ten błąd przy nowym projekcie, ale chciałbym, aby ten istniejący projekt działał. To nie zadziała, nawet jeśli utworzę nowy certyfikat!
Odpowiedzi:
W końcu znalazłem rozwiązanie i mam nadzieję, że pomoże to również komuś innemu.
.csproj
plik dla danego projektu.Usuń następujące wiersze kodu:
źródło
ManifestCertificateThumbprint
iManifestKeyFile
rozwiązanie problemu.Przejdź do „Właściwości” swojego projektu w programie Visual Studio. Następnie przejdź do zakładki podpisywania.
Następnie upewnij się, że manifesty Podpisz raz są wyłączone.
Zaktualizowane instrukcje:
W Eksploratorze rozwiązań:
źródło
To proste!!
Rozwiązałem ten problem, wykonując następujące kroki:
Otóż to!!
źródło
Usuń następujące informacje związane z podpisywaniem certyfikatu w magazynie certyfikatów
źródło
Spróbuj to: prawym przyciskiem myszy na projekcie -> przejdź do właściwości -> Kliknij podpisanie która jest po lewej stronie ekranu -> Odznacz Znak kliknięcie raz manifestach -> Zapisz i budowy
źródło
Przejdź do „Właściwości” swoich projektów w programie Visual Studio. Następnie przejdź do zakładki podpisywania.
Następnie upewnij się, że manifesty Podpisz raz są wyłączone.
LUB
1. Otwórz plik .csproj w Notatniku.
2. Usuń następujące informacje związane z podpisywaniem certyfikatu w magazynie certyfikatów xxxxx xxxxxx xxxxxxxx.pfx prawda fałsz ''
Pracował dla mnie.
źródło
Zakładając, że jest to certyfikat osobisty utworzony przez Windows w systemie, z którego skopiowałeś projekt, możesz użyć menedżera certyfikatów w systemie, w którym znajduje się projekt, i zaimportować certyfikat. Uruchom menedżera certyfikatów (certmgr) i wybierz certyfikaty osobiste, a następnie kliknij prawym przyciskiem myszy poniżej listy istniejących certyfikatów i wybierz import z zadań. Użyj funkcji przeglądania, aby znaleźć plik .pfx w projekcie (plik .pfx z poprzedniego systemu, który został skopiowany z projektem). Powinien znajdować się w podkatalogu o tej samej nazwie, co katalog projektu. Znam C # i VS, więc jeśli to nie jest twoje środowisko, może .pfx będzie gdzie indziej lub może ta sugestia nie ma zastosowania. Po imporcie powinien pojawić się komunikat o stanie. Jeśli ci się udało, błąd certyfikatu kompilacji powinien zniknąć.
źródło
Nie wystarczy ręcznie dodawać klucze do magazynu certyfikatów systemu Windows. Certyfikat zawiera tylko podpisany klucz publiczny. Musisz także zaimportować klucz prywatny, który jest powiązany z kluczem publicznym w certyfikacie. Plik .pfx zawiera zarówno klucze publiczne, jak i prywatne w jednym pliku. To jest to, co musisz zaimportować.
źródło
Powiedziałeś, że skopiowałeś pliki z innego komputera. Czy po skopiowaniu ich „odblokowałeś”? W szczególności należy sprawdzić plik .snk, aby upewnić się, że nie jest oznaczony jako niebezpieczny.
źródło
Aby podpisać zestaw silną nazwą przy użyciu atrybutów
Otwórz
AssemblyInfo.cs
(w$(SolutionDir)\Properties
)AssemblyKeyFileAttribute
lubAssemblyKeyNameAttribute
, podając nazwę pliku lub pojemnika, który zawiera parę kluczy do użytku podczas podpisywania zespół z silną nazwę.dodaj następujący kod:
źródło
Jeśli potrzebujesz po prostu zbudować projekt lub rozwiązanie lokalnie, usunięcie podpisu może być martwym prostym rozwiązaniem, jak sugerują inni.
Ale jeśli masz ten błąd na serwerze kompilacji automatyzacji, takim jak TeamCity, na którym tworzysz rzeczywiste elementy wydania do wdrożenia lub dystrybucji, możesz rozważyć, w jaki sposób można poprawnie zainstalować ten certyfikat w magazynie certyfikatów na maszynie kompilacji, aby uzyskać podpisane pakiety na końcu kompilacji.
Generalnie nie zaleca się wpisywania / zatwierdzania jakichkolwiek certyfikatów PFX do kontroli źródła, więc sposób pobierania tych plików na serwerze kompilacji podczas procesu kompilacji jest nieco innym pytaniem, ale czasami ludzie mają ten plik przechowywany wraz z rozwiązaniem kod, dzięki czemu można go znaleźć w folderze projektu.
Wszystko, co musisz zrobić, to po prostu zainstalować ten certyfikat na odpowiednim koncie na serwerze kompilacji.
Pobierz PsExec z Windows Sysinternals .
Otwórz wiersz polecenia i wprowadź następujące informacje. Pojawi się nowy wiersz poleceń, działający jako system lokalny (zakładając, że TeamCity działa na domyślnym koncie systemu lokalnego):
> psexec.exe -i -s cmd.exe
W tym nowym wierszu polecenia przejdź do katalogu zawierającego certyfikat i wprowadź nazwę pliku do zainstalowania (zmień nazwę pliku na swoją):
> mykey.pfx
Uruchomi się kreator importu certyfikatu. Kliknij i wybierz wszystkie sugerowane ustawienia domyślne.
Uruchom kompilację.
Wszystkie kredyty należą się Stuart Noble (a następnie, jak sądzę, Laurentowi Kempé ).
źródło