2012-10-22 22 views
5

thể trùng lặp:
Can I use a .NET 4.0 library in a .NET 2.0 application?Tôi có thể chạy .NET 4 ứng dụng bên trong ứng dụng .NET 2 của tôi không?

Vì vậy, tôi có một NET 2 ứng dụng GUI di sản. Việc làm lại ứng dụng này là không có câu hỏi.

Tôi cũng có ứng dụng giao diện điều khiển .NET 4 thực hiện FTP và công việc khác. Nó sử dụng LINQ.

Bây giờ, tôi đang trừu tượng hóa các ứng dụng giao diện điều khiển (đó là NET 4) vào DLL thể tái sử dụng, vv

Những gì tôi muốn để có thể làm là có ứng dụng GUI (NET 2) có thể bao gồm các DLL và gọi chúng. Sau đó, chỉ nhận được các giá trị trả về từ nó.

Tôi nghĩ trường hợp tệ hơn tôi chỉ có thể giữ cho nó một ứng dụng giao diện điều khiển và có .NET hai thực hiện nó bên ngoài. Nhưng tôi muốn ứng dụng GUI có thể thực thi các phương thức từ phần .NET 4.

Các khách hàng sẽ chạy ứng dụng này đều có .NET 4.

Cảm ơn.

Trả lời

8

Vì vậy, tôi có ứng dụng .NET 2 GUI cũ. Việc làm lại ứng dụng này là không có câu hỏi.

Việc thay đổi mục tiêu khung thành .NET 4 và xây dựng lại cũng không được giải đáp? Đó có lẽ là cách tiếp cận đơn giản nhất - sau đó bạn muốn biết bạn sẽ không kết thúc trong các tình huống lạ khi bạn đang thực sự chạy trên CLR v2 và cố gắng tải các assembly yêu cầu CLR v4 (và .NET framework v4 assembly).

Trong hầu hết các trường hợp, bạn chỉ cần có thể nhắm mục tiêu lại - trong khi tính tương thích ngược không phải là 100%, nó khá tốt.

+0

Tôi đã thực sự nghĩ về điều đó. Chính sách của công ty là không thay đổi GUI càng nhiều càng tốt. Trong thực tế, họ có thể sẽ cho tôi biết để thay đổi ứng dụng giao diện điều khiển mới (và các lớp) để sử dụng .NET 2 đầu tiên. Nhưng tôi đã tìm kiếm một cái cớ trong một thời gian dài để cập nhật GUI! SO có thể thử điều đó và xem loại pushback nào tôi nhận được. – cbmeeks

1

Những gì bạn cần làm ở đây là yếu tố ra các tiện ích được chia sẻ vào các tệp DLL nhắm mục tiêu khuôn khổ 2.0. Các DLL này sau đó có thể được sử dụng trong cả quá trình 2.0 và 4.0 .Net. .Net đặt một thanh rất cao về khả năng tương thích ngược và trong phần lớn các kịch bản một DLL 2.0 có thể chạy mà không có thay đổi trong 4.0.