2010-03-22 38 views
6

Vì nhiều lý do khác nhau, tôi không muốn sử dụng các assembly có tên mạnh trong dự án của tôi. tuy nhiên, một trong các dự án được tham chiếu bởi một phần web chia sẻ có nghĩa là nó phải được ký kết.C# - bạn có thể tạo một tham chiếu lắp ráp "yếu" với một assembly có tên mạnh là

là có thể có lắp ráp này đã ký nhưng khi tôi tham khảo nó từ các dự án khác, để làm như vậy bằng cách sử dụng một tham chiếu không mạnh. điều này sẽ cho tôi những lợi thế của việc có một hội đồng không ký cho phần còn lại của mã của tôi nhưng vẫn cho phép nó được nạp bởi sharepoint.

Trả lời

3

Cách đơn giản nhất để thực hiện điều này có lẽ là có hai cấu hình dự án khác nhau - một trong số đó xây dựng một assembly được đặt tên mạnh và một trong số đó không có. Rõ ràng bạn sẽ cần phải cẩn thận làm thế nào bạn xây dựng và tham khảo lắp ráp, nhưng điều đó đi với lãnh thổ có các yêu cầu xung đột.

+0

Bạn sẽ thiết lập "hai cấu hình dự án khác nhau" trong Visual Studio như thế nào? –

+0

@PavelChuchuva: Xem http://msdn.microsoft.com/en-us/library/kkz9kefa.aspx –

+0

Trình đơn thả xuống cấu hình bị vô hiệu hóa trên tab Đăng nhập trong thuộc tính dự án: http://i.imgur.com/vwZKy. png –

1

Chỉ cần tiếp tục xây dựng dự án của bạn với tên mạnh. Khi bạn cần triển khai nó lên Sharepoint, sử dụng một công cụ để ký nó sau khi nó được xây dựng. Dưới đây là một công cụ thực hiện chính xác rằng:

http://signer.codeplex.com/Wikipage

Bạn cũng có thể làm điều đó bằng tay, nhưng nó là một Pita:

http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/

0

Đây là OP nhưng tôi không có một OpenID đăng nhập vì vậy tôi đoán tôi không thể trả lời như bản thân mình.

Cảm ơn cả hai câu trả lời. Tôi nghĩ có thể đã làm việc nhưng tình hình trở nên phức tạp hơn một chút. Tôi đã ghi lại những phát hiện của mình ở đây trong trường hợp ai đó quan tâm.

Trong tài liệu tham khảo dùng thêm thực tế lắp ráp A và lắp ráp A trong tài liệu tham khảo lần lượt lắp ráp B.

tôi có thể xây dựng lắp ráp A và B cả unsigned không có vấn đề, nhưng sau đó nếu tôi muốn đăng ký A, tôi phải thay đổi Mặc dù có thể có một cách để làm điều này, chúng tôi quyết định các xung đột DLL có thể xảy ra và các vấn đề về kiểm soát cấu hình với các tập hợp DLL khác nhau có cùng tên không đáng để làm như vậy. rắc rối. Vì vậy, chúng tôi đã quyết định ký cả hai hội đồng này trong tất cả các bản dựng, tái cấu trúc mã vào các hội đồng khác nhau khi cần thiết để đảm bảo rằng chỉ có số lượng mã tối thiểu là trong các ký được ký vì vậy chúng ít có khả năng thay đổi.

Tim

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