2011-09-09 40 views
9

Tôi cố gắng để ký lắp ráp của tôi, nhưng tôi nhận được một lỗi:Ký một assembly trong Visual Studio

Error Unable to find manifest signing certificate in the certificate store.

Đây là những gì tôi đã làm để bắt đầu:

  • tôi phải bấm vào tôi dự án trong Visual Studio
  • Nhấp vào Thuộc tính
  • Nhấp vào Ký
  • Nhấp vào Đăng ký hộp kiểm hội
  • Chọn New
  • tôi cung cấp cho nó một cái tên và mật khẩu

Nhưng sau đó khi tôi đi để biên dịch xây dựng của tôi, tôi nhận được lỗi.

Sau đó tôi đã đi đến tệp .pfx trong thư mục dự án của tôi, nhấp đúp vào nó và nhập nó vào kho chứng chỉ (và nhập mật khẩu giống như khi tôi tạo chứng chỉ).

Nhưng tôi vẫn gặp lỗi tương tự khi cố gắng tạo dự án của mình. Tôi không có "Đăng ký các tệp kê khai ClickOnce" được chọn vì tôi không sử dụng tính năng đó.

Làm cách nào để khắc phục sự cố này?

Tôi đang sử dụng Visual Studio 2010 SP1.

+0

bạn đã làm theo tất cả các bước từ đây: http://msdn.microsoft.com/en-us/library/ms247123.aspx? –

Trả lời

10

Tôi đã tìm thấy nguyên nhân gây ra sự cố. Tôi đã phải xóa những điều sau đây khỏi tệp dự án Visual Studio của tôi (.csproj):

<ManifestCertificateThumbprint>...</ManifestCertificateThumbprint><b 
<ManifestKeyFile>...</ManifestKeyFile>< 
<GenerateManifests>...</GenerateManifests>< 
<SignManifests>...</SignManifests> 

Điều này đã khắc phục được sự cố và tôi có thể biên dịch bằng ứng dụng.

+0

+1 tính năng này phù hợp với tôi. Tôi vẫn không chắc tại sao thứ đó ('manifestcertificatethumbprint') lại nằm trong csproj của tôi, có lẽ nó là một di tích từ khi tôi cố gắng triển khai ứng dụng winforms của tôi như một dự án clickonce. – wal

+0

Cũng được mô tả trong * [ClickOnce Signing Bug] (http://nittygrittycoding.blogspot.dk/2007/06/clickonce-signing-bug.html) *. (Đối với Visual Studio 2005, tôi không biết nếu nó cũng bao gồm Visual Studio 2010) –

+0

Và trong * [ClickOnce triển khai] (http://www.mokhan.ca/tools/2010/10/05/click-once. html) * (2010-10-05). Câu hỏi Stack Overflow này được tham chiếu ở đó (nhưng nó mô tả một kịch bản hơi khác - sử dụng các chứng chỉ; nó có thêm thông tin về các chứng chỉ). –

0

Tôi không thể tạo lại. Tôi đã làm tất cả các bước tương tự như bạn đã đề cập, lưu tệp dự án và biên dịch và tất cả đều OK.

Bạn có thể thử theo dõi bài viết How to: Sign an Assembly (Visual Studio), nhưng các bước của bạn thực sự đã làm việc cho dự án thư viện lớp C# mới được tạo.

+0

Nếu tôi thực hiện một dự án mới, tôi có thể làm cho nó hoạt động tốt. Nhưng khi ký dự án hiện tại của tôi, tôi nhận được cùng một lỗi. – fraXis

Các vấn đề liên quan