2008-09-12 39 views
22

Sử dụng phản chiếu, tôi cần tải 2 phiên bản khác nhau của cùng một cụm. Tôi có thể tải 2 phiên bản trong 2 AppDomain khác nhau trong cùng một quy trình không?Tải các phiên bản khác nhau của cùng một assembly

Tôi cần thực hiện một số di chuyển dữ liệu từ phiên bản cũ của ứng dụng sang phiên bản mới. Vui lòng cho tôi biết nếu điều này là có thể hoặc tôi nên sử dụng 2 quy trình riêng biệt.

Trả lời

5

CẬP NHẬT: tôi nghĩ tôi sẽ đăng những phát hiện của tôi như là một câu trả lời. Sự phản ánh tỏ ra quá phức tạp về nỗ lực phát triển, theo dõi lỗi thời gian chạy vv. Tôi nhớ đã thực hiện một cách tiếp cận khác nhau bằng cách sử dụng 2 quy trình khác nhau khi đối mặt với một tình huống tương tự thời gian dài trở lại (Cảm ơn Brandon).

Đây là gói: Không có gì thanh lịch nhưng dễ dàng hơn về mặt phát triển và khắc phục sự cố. Vì đây là công việc một lần nên chúng tôi phải làm việc đó.

Lưu trữ quy trình truy cập từ xa (mà tôi gọi là máy chủ) có phiên bản ứng dụng mới. Ứng dụng khách truy cập từ xa có tham chiếu cho phiên bản cũ hơn.

Remoting ứng dụng khách ngay lập tức và tải các đối tượng có dữ liệu cần thiết để di chuyển. Chuyển đổi các đối tượng cũ thành các đối tượng có thể tuần tự hóa phổ biến và truyền tham số cho máy chủ.

Máy chủ Remoting sử dụng dữ liệu chung để khởi tạo và tải các đối tượng mới. Gọi các hàm trên các kiểu mới để duy trì dữ liệu của chúng.

14

Nếu bạn đang làm nó lúc thiết kế (mà bạn biết bạn không) này sẽ giúp bạn:

http://blogs.msdn.com/abhinaba/archive/2005/11/30/498278.aspx

Nếu bạn đang làm nó động thông qua phản ánh (trông giống như trường hợp ở đây) này có thể giúp bạn:

http://infosysblogs.com/microsoft/2007/04/loading_multiple_versions_of_s.html

+2

Liên kết tốt, cảm ơn. –

+1

Vâng ... Cái đầu tiên cho tôi, và một loạt những người khác, vấn đề với "lắp ráp đã được tham chiếu". Bài đăng cũ 7 năm và tôi vẫn không thể thấy bất kỳ giải pháp hoặc giải thích nào trong trường nhận xét của bài đăng đó. Những người của SO, giúp đỡ? – Nilzor

+0

InfoSysblog (liên kết thứ hai) là một liên kết chết ngay bây giờ. Bất kỳ đề xuất? –

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