Mengapa saya mendapatkan "Tidak dapat menemukan sertifikat penandatanganan nyata di toko sertifikat" di Addin Excel saya?

216

Saya punya proyek add-in Excel yang dibuat beberapa tahun yang lalu di Visual Studio 2008. Ada beberapa perubahan yang harus dilakukan sehingga saya memutakhirkan ke Visual Studio 2010 (satu-satunya IDE yang dapat saya gunakan). Tidak yakin apakah ini yang menyebabkan masalah tetapi informasi latar belakangnya.

Ketika saya memeriksa kode dan mengkompilasinya saya mendapatkan kesalahan, "Kesalahan 1 Tidak dapat menemukan sertifikat penandatanganan nyata di toko sertifikat."

Adakah yang bisa memberi tahu saya apa artinya ini dan bagaimana cara memperbaikinya?

Andy Parsons
sumber

Jawaban:

250

Anda perlu menambahkan kembali sertifikat itu ke mesin Anda atau memilih sertifikat lain.

Untuk memilih sertifikat lain atau untuk membuat ulang, buka halaman Properti proyek, klik pada tab Penandatanganan dan keduanya

  • Klik Pilih dari toko
  • Klik Pilih dari file
  • Klik pada Buat sertifikat uji

Setelah salah satu dari ini selesai, Anda harus dapat membangunnya kembali.

Sathyajith Bhat
sumber
134
Di Project's properties pageAnda dapat pergi ke Signing tabkemudian hapus centang pada kotak centang "Masuk manifes ClickOnce".
Rubens Mariuzzo
10
@RubensMariuzzo - tidak jika Anda benar-benar ingin menandatanganinya
Matt Wilko
Hapus centang tidak mungkin untuk Add-in Office dan akan diperiksa kembali.
it3xl
1
Bagaimana operasi "Buat sertifikat uji" dilakukan pada server build?
ryanwebjackson
138

Saya menemukan solusi ini yang memecahkan masalah bagi saya: Menghapus semua entri *.csprojyang termasuk dalam Anda:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>
Wernight
sumber
1
Ini diperlukan ketika aplikasi dulu ClickOnce tetapi tidak lagi (kotak centang berwarna abu-abu di tab Penandatanganan)
Dan Bechard
1
juga bekerja untuk saya. rupanya ada beberapa sisa dalam file proyek dari beberapa percobaan yang kami lakukan di atasnya yang harus dibersihkan secara manual. BTW - Saya juga harus menghapus file .snk dari proyek. jadi bagi saya itu: hapus .snk, nonaktifkan penandatanganan, edit file proyek, muat ulang proyek, dan aktifkan penandatanganan.
OSH
Tampaknya diperlukan jika Anda pernah memeriksa ClickOnce dan kemudian beralih ke Sign Assembly.
Roland
1
Ini jawaban terbaik.
Homam
3
Hapus tanda centang pada "Signing the ClientOnce Manifest" tidak selalu berhasil. Solusinya adalah dengan menghapus baris yang disebutkan dari file csproj Anda
nectar
98

Solusi cepat untuk mengaktifkan saya adalah dengan menghapus centang "Tandatangani manifes ClickOnce" di: Project -> (nama proyek) Properties -> Signing Tab

Rudy
sumber
1
Saya harus menghapus centang pada keduanya Sign the ClickOnce manifestsdan Sign the assemblymencentang kotak di bawah tab masuk di properti proyek untuk menyingkirkan masalah tersebut. Saya tidak menggunakan penandatanganan sama sekali.
RBT
13

Ketika proyek awalnya dibuat, sertifikat penandatanganan klik sekali ditambahkan pada tab penandatanganan properti proyek. Ini menandatangani manifes klik sekali ketika Anda membangunnya. Antara dulu dan sekarang, sertifikat itu tidak lagi tersedia. Entah ini bukan mesin yang Anda bangun awalnya atau entah bagaimana dibersihkan. Anda perlu menambahkan kembali sertifikat itu ke mesin Anda atau memilih sertifikat lain.

Gardner
sumber
24
"Anda perlu menambahkan kembali sertifikat itu ke mesin Anda atau memilih sertifikat lain." Jika Anda tahu cara menambahkan sertifikat, maka akan sangat membantu untuk menyatakan bagaimana di utas ini atau tautan ke caranya di utas ini. Seperti, jawaban Anda hanya setengah jawaban.
1
Halaman Properti Proyek> Signingdi tab vertikal> Klik Create test certificate. Dan jangan lupa untuk membuat file yang baru dibuat You.Project_TemporaryKey.pfxkarena .pfxfile sering diabaikan .
it3xl
Saya pikir solusi ini adalah satu-satunya yang tepat untuk proyek-proyek Visula Studio Office.
it3xl
13

Menambahkan sertifikat baru telah menyelesaikan masalah ini untuk saya. Halaman properti -> penandatanganan -> Klik Buat sertifikat uji

moglimcgrath
sumber
Apakah ada cara untuk melakukan ini pada server build (melalui baris perintah)?
ryanwebjackson
8

Pastikan Anda mengkomit .pfxfile ke repositori.

Saya baru saja menemukan *.pfxdi default saya .gitignore. Komentari #dan lakukan perubahan. Kemudian tarik repositori dan bangun kembali.

Apokoh Munafik
sumber
0

Masalah entri sisa salah dalam file .csproj masih terjadi dengan VS2015update3 dan juga dapat terjadi jika Anda mencoba mengubah sertifikat penandatanganan untuk yang berbeda (bahkan jika itu dihasilkan menggunakan opsi 'baru' dalam dropdown pilihan sertifikat) . Saran dalam jawaban yang diterima (tandai tidak ditandatangani, simpan, bongkar proyek, edit .csproj, hapus properti yang berkaitan dengan sertifikat lama / sidik jari / kunci & muat ulang proyek, set sertifikat) dapat diandalkan.

simon coleman
sumber
0

Saya membuat kunci baru, saya harus mencari csproj untuk yang lama dan refactor.

Billy Jake O'Connor
sumber