Tại sao tôi nhận được không thể tìm thấy chứng chỉ ký tên trong kho lưu trữ chứng chỉ trong Addin Excel của tôi?


216

Tôi đã có một dự án bổ trợ Excel đã được tạo ra vài năm trước trong Visual Studio 2008. Nó đã có một số thay đổi được thực hiện nên tôi đã nâng cấp lên Visual Studio 2010 (IDE duy nhất tôi có thể sử dụng). Không chắc chắn nếu điều này gây ra vấn đề nhưng đó là thông tin cơ bản.

Khi tôi kiểm tra mã và biên dịch mã, tôi gặp lỗi, "Lỗi 1 Không thể tìm thấy chứng chỉ ký tên trong kho lưu trữ chứng chỉ."

Bất cứ ai có thể cho tôi biết điều này có nghĩa là gì và làm thế nào để khắc phục nó?

Câu trả lời:


250

Bạn cần thêm lại chứng chỉ đó vào máy của mình hoặc chọn chứng chỉ khác.

Để chọn một chứng chỉ khác hoặc để tạo lại một chứng chỉ, hãy đến trang thuộc tính của Dự án, nhấp vào tab Ký và

  • Nhấp vào Chọn từ cửa hàng
  • Nhấp vào Chọn từ tệp
  • Nhấp vào Tạo chứng chỉ kiểm tra

Khi một trong hai điều này được thực hiện, bạn sẽ có thể xây dựng lại nó.


134
Trong đó Project's properties pagebạn có thể đi đến Signing tabsau đó bỏ chọn hộp kiểm "Ký vào bảng kê khai ClickOnce".
Rubens Mariuzzo

10
@RubensMariuzzo - không phải nếu bạn thực sự muốn ký nó
Matt Wilko

Bỏ chọn là không thể đối với Bổ trợ Office và sẽ được kiểm tra lại.
it3xl

1
Làm thế nào có thể thực hiện thao tác "Tạo chứng chỉ kiểm tra" trên máy chủ bản dựng?
ryanwebjackson

138

Tôi tìm thấy giải pháp này đã giải quyết vấn đề cho tôi: Loại bỏ tất cả các mục trong *.csprojđó rơi vào:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>

1
Điều này là cần thiết khi ứng dụng được sử dụng là ClickOnce nhưng không còn nữa (hộp kiểm chuyển sang màu xám trong tab Ký)
Dan Bechard

1
cũng làm việc cho tôi rõ ràng có một số thức ăn thừa trong tệp dự án từ một số thử nghiệm chúng tôi đã làm trên đó phải được làm sạch bằng tay. BTW - Tôi cũng phải xóa tệp .snk khỏi dự án. vì vậy đối với tôi đó là: xóa .snk, vô hiệu hóa ký, chỉnh sửa tệp dự án, tải lại dự án và cho phép ký.
OSH

Rõ ràng là cần thiết nếu bạn đã từng kiểm tra ClickOnce và sau đó chuyển sang Đăng ký hội.
Roland

1
Đây là câu trả lời tốt nhất.
Homam

3
Bỏ chọn "Ký tên vào biểu mẫu của khách hàng" không phải lúc nào cũng hoạt động. Giải pháp là xóa các dòng được đề cập khỏi các tệp csproj của bạn
mật hoa

98

Một giải pháp nhanh chóng giúp tôi thực hiện là bỏ chọn "Đăng ký bảng kê khai ClickOnce" trong: Dự án -> (tên dự án) Thuộc tính -> Tab ký


1
Tôi đã phải bỏ chọn cả hai Sign the ClickOnce manifestsvà chọn Sign the assemblycác hộp bên dưới tab ký trong thuộc tính dự án để thoát khỏi vấn đề. Tôi đã không sử dụng bất kỳ chữ ký nào cả.
RBT

13

Khi dự án ban đầu được tạo, chứng chỉ ký một lần nhấp được thêm vào tab ký của các thuộc tính của dự án. Điều này ký vào bảng kê khai nhấp một lần khi bạn xây dựng nó. Giữa lúc đó và bây giờ, chứng chỉ đó không còn nữa. Đây không phải là máy bạn đã xây dựng ban đầu hoặc nó đã được dọn sạch bằng cách nào đó. Bạn cần thêm lại chứng chỉ đó vào máy của mình hoặc chọn chứng chỉ khác.


24
"Bạn cần thêm lại chứng chỉ đó vào máy của mình hoặc chọn chứng chỉ khác." Nếu bạn biết cách thêm chứng chỉ, thì sẽ rất hữu ích khi nêu cách thức trong chủ đề này hoặc liên kết đến cách thức trong chủ đề này. Như là, bạn trả lời chỉ là một nửa câu trả lời.

1
Trang thuộc tính dự án> Signingtrong các tab dọc> Bấm vào Create test certificate. Và đừng quên cam kết một tệp mới được tạo You.Project_TemporaryKey.pfx.pfxcác tệp thường bị bỏ qua .
it3xl

Tôi nghĩ giải pháp này là giải pháp duy nhất phù hợp cho các dự án của Visula Studio Office.
it3xl

13

Thêm chứng chỉ mới giải quyết vấn đề này cho tôi. Trang thuộc tính -> ký -> Nhấp vào Tạo chứng chỉ kiểm tra


Có cách nào để làm điều này trên một máy chủ xây dựng (thông qua dòng lệnh) không?
ryanwebjackson

8

Hãy chắc chắn rằng bạn cam kết .pfxcác tập tin vào kho lưu trữ.

Tôi chỉ tìm thấy *.pfxtrong mặc định của tôi .gitignore. Nhận xét nó (bởi #) và cam kết thay đổi. Sau đó kéo kho lưu trữ và xây dựng lại.



0

Sự cố về các mục còn lại sai trong tệp .csproj vẫn xảy ra với VS2015update3 và cũng có thể xảy ra nếu bạn cố gắng thay đổi chứng chỉ ký cho một chứng chỉ khác (ngay cả khi đó là một trong số đó được tạo bằng tùy chọn 'mới' trong trình đơn chọn chứng chỉ) . Lời khuyên trong câu trả lời được chấp nhận (đánh dấu là chưa ký, lưu, hủy dự án, chỉnh sửa .csproj, xóa các thuộc tính liên quan đến chứng chỉ / dấu vân tay / khóa & dự án tải lại, đặt chứng chỉ cũ) là đáng tin cậy.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.