Nếu bạn đã sẵn sàng triển khai VSIX và không cần bất kỳ thứ gì trong GAC, thì không, Visual Studio không yêu cầu bạn phải ký tên mạnh. Tôi tin rằng trình thuật sĩ mẫu yêu cầu ký tên mạnh mẽ, nhưng chỉ vì chúng phải được cài đặt vào GAC.
Tôi có thể nghĩ đến một vài lý do bạn có thể muốn: Nếu gói của bạn hiển thị API công khai mà các tiện ích mở rộng khác tiêu thụ, bạn có thể tham chiếu một DLL phổ biến như những người khác đang sử dụng API công khai của bạn. Bạn có thể muốn mạnh tên ký nhị phân giao diện công cộng, và tùy thuộc vào cách dự án của bạn được thiết lập, bạn có thể phải ký tên mạnh mẽ tất cả mọi thứ.
Ngoài ra, nếu bạn không ký tên mạnh, bạn có nguy cơ xảy ra xung đột tên với tiện ích mở rộng khác. Nếu bạn tạo ra một DLL gọi là "Package.dll" và phần mở rộng khác cũng đã làm, và không phải của bạn tên mạnh ký kết nhị phân của bạn, nó có thể CLR sẽ nhận được một chút nhầm lẫn ở đây. Vì vậy, nếu bạn không ký tên mạnh, hãy đảm bảo tên lắp ráp của bạn là "đủ độc đáo" để tránh rủi ro này.
Đối với những gì nó có giá trị, khi chúng tôi kiểm tra dịch vụ ngôn ngữ Roslyn nội bộ, chúng tôi chỉ cần làm như vậy bằng cách cài đặt một VSIX có chứa tất cả các bit Roslyn. Việc tìm hiểu nhanh thông qua lịch sử kiểm soát nguồn ngụ ý rằng chúng tôi đã không ký tên mạnh mẽ các gói nhị phân của chúng tôi trong năm đầu tiên và một nửa, cho đến khi chúng tôi cuối cùng phải là một phần của quá trình chuyển mã từ Microsoft.
Nguồn
2013-05-08 23:44:59
Khi tôi loại bỏ đặt tên mạnh khỏi VSIX của tôi, phần mở rộng không triển khai (hiển thị) trong Visual Studio. Tôi đang sử dụng Visual Studio 2015. –