2009-05-19 29 views
6

Tôi đã thiết lập dự án đơn giản của mình trong Visual   Studio   2008 để sử dụng trình cài đặt ClickOnce. Tôi đã chỉ định rằng tệp kê khai ClickOnce phải được ký bằng tệp PFX của comapny của chúng tôi. Khi tôi thiết lập này trong Visual Studio nó yêu cầu mật khẩu cho các tập tin PFX, mà tôi sẵn sàng cung cấp. Mọi thứ hoạt động tốt khi tôi xây dựng và xuất bản từ trong Visual Studio. Nó cũng hoạt động tốt xây dựng từ MSBuild trên máy tính của tôi.Sử dụng MSBuild để ký ClickOnce hoặc kết quả lắp ráp do lỗi MSB3321

Tuy nhiên, khi tôi cố gắng xây dựng nó bằng cách sử MSBuild trên máy xây dựng của chúng tôi, tôi nhận được lỗi sau:

ERROR MSB3321 in 
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7) 
    : Importing key file "ourCertificate.pfx" was canceled (sic). 

Sau khi một số tìm kiếm tôi đã tìm thấy một chút thông tin nói rằng đây là vì tôi chưa cung cấp mật khẩu. Nhưng tôi không thể tìm cách cung cấp mật khẩu trên máy xây dựng. Tôi cũng đã thấy đề xuất để cài đặt Visual Studio, và cung cấp mật khẩu một lần bên trong Visual Studio, và sau đó nó sẽ làm việc từ MSBuild sau đó. Nhưng tôi thực sự muốn tránh cài đặt Visual Studio trên máy xây dựng.

Tôi đã thử nhấp đúp vào tệp PFX để nhập và đặt mật khẩu khi được hỏi, nhưng điều này không giúp ích gì.

Điều tương tự cũng xảy ra nếu tôi chọn 'Đăng ký hội đồng' trong Visual Studio và cung cấp cùng một tệp PFX.

Làm cách nào để khắc phục sự cố này? Có cách nào để lưu trữ mật khẩu trên máy xây dựng không?

Trả lời

6

Bạn có thể nhập chứng chỉ của mình vào cửa hàng Nhà xuất bản đáng tin cậy trên máy xây dựng không? (Internet Explorer> Công cụ> Tùy chọn> Nội dung> Chứng chỉ)

Tôi không sử dụng MSBuild để tạo triển khai; Tôi sử dụng Mage. Tuy nhiên, tôi sử dụng tệp .pfx của chúng tôi để nhập cert của chúng tôi vào cửa hàng Nhà xuất bản đáng tin cậy của tôi. Để làm điều đó tôi phải nhập mật khẩu. Sau khi xong, khi tôi lưu một bản kê khai trong Mage, tôi không còn phải cung cấp mật khẩu nữa. Tôi có thể chỉ cần chọn cert từ cửa hàng của tôi.

+1

Nhập chứng chỉ vào Cửa hàng nhà xuất bản đáng tin cậy của tôi đã hoạt động đối với tôi. – Wilka

+0

Ngoài ra tôi đã phải sử dụng thuộc tính msbuild này để hướng dẫn msbuild ký ứng dụng ClickOnce: ** ManifestCertificateThumbprint ** [... điều này đã giúp tôi] (http://huntjason.wordpress.com/2009/10/22/publish-clickonce-applications-to-run-side-by-side-by-khác-môi trường-từ-the-command-line-using-nant /) – ms007

-1

John Robbins có một bài viết trên blog về cách quấn SignTool.exe trong MSBuild, Code Signing – It’s Cheaper and Easier than You Thought.

+2

Trong khi điều này về mặt lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn ] (http://meta.stackexchange.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. – Jack

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