2009-08-05 30 views
21

Tôi có một assembly, Foo, có tham chiếu đến Assembly Bar (phiên bản X.X.X.2000). Trong các thuộc tính, phiên bản cụ thể được đặt thành Sai. Tôi có cả Bar (x.x.x.2000) và Bar (x.x.x.1000) trong địa phương GAC. Mọi thứ đều ổn. Trên một máy khác, trong đó không có phiên bản của Bar trong GAC, nhưng Bar (xxx1000) nằm trong cùng thư mục với Foo, chạy Foo sẽ không xác nhận quyền sở hữu không tìm thấy Barr (xxx2000) vớiSử dụng tham chiếu phiên bản cụ thể trong Visual Studio 2008

Không thể tải tệp hoặc tập hợp 'Bar, Version = xxx2000, Văn hóa = trung lập, PublicKeyToken = YXYXYXYXXYX' hoặc một trong số các phụ thuộc của nó. Định nghĩa tệp kê khai của lắp ráp không khớp với tham chiếu lắp ráp . (Ngoại lệ từ HRESULT: 0x80131040)

Không nên sử dụng Bar (x.x.x.1000) vì phiên bản cụ thể được đặt thành False hoặc tôi thiếu gì đó?

Có lẽ tôi đã không biết phiên bản cụ thể thực sự hoạt động như thế nào.

Có một số câu hỏi khác về tham chiếu phiên bản cụ thể trên Stack Overflow nhưng không có sự trợ giúp nào cho tôi.

EDIT

đọc thêm: http://www.code-magazine.com/article.aspx?quickid=0507041&page=3

+0

này chỉ xảy ra với tên mạnh (đã ký) assemblys, kể từ phiên bản chỉ kiểm tra xảy ra với những người được sử dụng. – sloth

+0

Xem http://blogs.msdn.com/b/irenak/archive/2005/12/13/503105.aspx –

Trả lời

25

"Phiên bản cụ thể" là một tài sản xây dựng thời gian chỉ đạo việc biên dịch sử dụng phiên bản có sẵn. Tại thời gian chạy, khung công tác vẫn tìm phiên bản cụ thể của assembly được sử dụng tại thời điểm xây dựng.

Xem thảo luận diễn đàn này: http://forums.asp.net/t/1251728.aspx

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