Saya tidak dapat membangun proyek dengan penandatanganan kunci nama yang kuat - pesan dalam judul selalu muncul.
Ya, proyek awalnya disalin dari komputer lain. Namun bahkan jika saya menambahkan kunci baru melalui tab Penandatanganan di Properti Proyek, kesalahan ini masih ditampilkan.
Saya telah mencoba menjalankan Visual Studio sebagai Administrator dan telah mencoba menambahkan kunci secara manual ke Windows Certificate Store.
Tolong!
Sunting: Saya tidak mendapatkan kesalahan ini dengan proyek baru, tapi saya cukup ingin agar proyek yang ada ini berfungsi. Itu tidak akan berfungsi bahkan jika saya membuat sertifikat baru!
Jawaban:
Saya akhirnya menemukan solusinya dan sangat berharap ini membantu orang lain juga.
.csproj
file untuk proyek yang dimaksud.Hapus baris kode berikut:
sumber
ManifestCertificateThumbprint
danManifestKeyFile
menyelesaikan masalah.Buka "Properti" proyek Anda dalam studio visual. Lalu pergi ke tab penandatanganan.
Kemudian pastikan Sign the Click Once manifes dimatikan.
Petunjuk yang Diperbarui:
Di dalam Solution Explorer Anda:
sumber
Itu mudah!!
Saya menyelesaikan masalah ini dengan mengikuti langkah-langkah ini:
Itu dia!!
sumber
Hapus informasi berikut yang terkait dengan menandatangani sertifikat di toko sertifikat
sumber
Coba ini: Klik kanan pada proyek Anda -> Pergi ke properti -> Klik penandatanganan yang berada di sebelah kiri layar -> Hapus centang pada Sign klik sekali manifes -> Simpan & Bangun
sumber
Buka "Properti" proyek Anda dalam studio visual. Lalu pergi ke tab penandatanganan.
Kemudian pastikan Sign the Click Once manifes dimatikan.
ATAU
1. Buka file .csproj di Notepad.
2. Hapus informasi berikut yang terkait dengan penandatanganan sertifikat di toko sertifikat xxxxx xxxxxx xxxxxxxx.pfx true false `
Bekerja untukku.
sumber
Dengan asumsi ini adalah sertifikat pribadi yang dibuat oleh windows pada sistem tempat Anda menyalin proyek Anda, Anda dapat menggunakan manajer sertifikat pada sistem tempat proyek sekarang dan mengimpor sertifikat. Mulai manajer sertifikat (certmgr) dan pilih sertifikat pribadi kemudian klik kanan di bawah daftar sertifikat yang ada dan pilih impor dari tugas. Gunakan browse untuk menemukan .pfx di proyek (.pfx dari sistem sebelumnya yang Anda salin dengan proyek). Itu harus di sub-direktori dengan nama yang sama dengan direktori proyek. Saya kenal dengan C # dan VS, jadi jika itu bukan lingkungan Anda, mungkin .pfx akan berada di tempat lain atau mungkin saran ini tidak berlaku. Setelah impor Anda harus mendapatkan pesan status. Jika Anda berhasil, kesalahan kompilasi sertifikat harus hilang.
sumber
Tidak cukup dengan menambahkan kunci secara manual ke penyimpanan sertifikat Windows. Sertifikat hanya berisi kunci publik yang ditandatangani. Anda juga harus mengimpor kunci pribadi yang terkait dengan kunci publik dalam sertifikat. File .pfx berisi kunci publik dan pribadi dalam satu file. Itulah yang perlu Anda impor.
sumber
Anda bilang Anda menyalin file dari komputer lain. Setelah Anda menyalinnya, apakah Anda 'Buka blokir' mereka? Secara khusus file .snk harus diperiksa untuk memastikan tidak ditandai sebagai tidak aman.
sumber
Untuk menandatangani majelis dengan nama yang kuat menggunakan atribut
Buka
AssemblyInfo.cs
(dalam$(SolutionDir)\Properties
)yang
AssemblyKeyFileAttribute
atauAssemblyKeyNameAttribute
, menentukan nama file atau wadah yang berisi sepasang kunci untuk digunakan saat menandatangani perakitan dengan nama yang kuat.tambahkan kode berikut:
sumber
Jika Anda hanya perlu membangun proyek atau solusi secara lokal maka menghapus penandatanganan mungkin merupakan solusi sederhana yang mati seperti yang disarankan orang lain.
Tetapi jika Anda memiliki kesalahan ini pada server build otomasi Anda seperti TeamCity tempat Anda membuat potongan rilis aktual untuk penyebaran atau distribusi, Anda mungkin ingin mempertimbangkan bagaimana Anda bisa mendapatkan sertifikat ini diinstal dengan benar ke toko cert pada mesin build, sehingga Anda mendapatkan paket yang ditandatangani di akhir build.
Umumnya tidak disarankan untuk check-in / melakukan sertifikat PFX ke dalam kontrol sumber, jadi bagaimana Anda mendapatkan file ini di server build Anda selama proses build adalah sedikit pertanyaan lain, tetapi kadang-kadang orang memang menyimpan file ini bersama dengan solusinya. kode, sehingga Anda dapat menemukannya di folder proyek.
Yang perlu Anda lakukan hanyalah menginstal sertifikat ini di bawah akun yang benar di server build Anda.
Unduh PsExec dari Windows Sysinternals .
Buka prompt perintah, dan masukkan yang berikut ini. Ini akan memunculkan prompt perintah baru, berjalan sebagai Sistem Lokal (dengan anggapan bahwa TeamCity Anda berjalan di bawah akun Sistem Lokal default):
> psexec.exe -i -s cmd.exe
Di prompt perintah baru ini, ubah ke direktori yang berisi sertifikat dan masukkan nama file untuk menginstal (ubah nama file menjadi milik Anda):
> mykey.pfx
Panduan Impor Sertifikat akan mulai. Klik dan pilih semua standar yang disarankan.
Jalankan build.
Semua kredit jatuh ke Stuart Noble (dan kemudian lebih jauh ke Laurent Kempé, saya percaya ☺).
sumber