Tôi đang viết phần mở rộng Visual Studio 2012, để sử dụng nội bộ, yêu cầu tất cả các hội đồng đều có tên mạnh. Tôi phụ thuộc vào RestSharp (và một vài dll khác), và vì nó không được đặt tên mạnh, tôi thêm một tên mạnh vào nó bằng cách theo dõi this. Tất cả mọi thứ hoạt động theo đầu ra của quá trình, và thậm chí tuyên bố phòng thu trực quan nó được đặt tên mạnh nếu tôi nhìn vào các thuộc tính của RestSharp.dll trong tài liệu tham khảo dự án. Tuy nhiên, khi tôi sử dụng tiện ích mở rộng của mình, tôi nhận được xác nhận quyền sở hữu FileLoadException:Đặt tên thật mạnh cho hội đồng bên thứ 3 - Không thể tải tệp hoặc lắp ráp
Could not load file or assembly 'RestSharp, Version=104.1.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
Bất kỳ suy nghĩ nào về cách giải quyết vấn đề này hoặc khắc phục?
Từ 'PublicKeyToken = null', nó đang tìm kiếm một * unsigned * phiên bản của assembly. Tôi sẽ loại bỏ tất cả các tài liệu tham khảo của bạn để RestSharp, và thêm chúng vào hội đồng đã ký kết. – vcsjones
Trong sự kiện dựng sẵn, tôi thực hiện bước ilasm iasmasm và sau đó xây dựng dự án. Vì dự án đang tham chiếu dll từ đường dẫn đã chỉ định, trong đó dll được ký mới là, nó có nên có phiên bản đã ký không? Tham chiếu dự án có thực sự phải được ký không? Tôi đã giả định rằng dll được ký kết tại thời điểm xây dựng sẽ là đủ. – Adam
'Tham chiếu dự án có thực sự phải được ký không? Ký tên sau khi thực tế không đủ tốt. Tệp kê khai assembly cho assembly của bạn * references * RestSharp theo dõi tên assembly đầy đủ, bao gồm tên mạnh (hoặc vắng mặt). – vcsjones