2010-04-01 35 views
8

Chúng tôi có hai dự án là cả hai thư viện lớp. Dự án 1 là dự án VS 2008 và nhắm vào Khuôn khổ .NET 3.5. Dự án 2 là dự án VS 2010 (phát hành ứng cử viên) nhắm vào .NET Framework 4.0. Khi tôi cố gắng thêm một tham chiếu đến dự án 2 trong dự án 1, nó không thành công với một thông báo lỗi ít thông tin hơn. Tôi biết rằng nếu tôi thay đổi Khung mục tiêu cho Dự án 2 thành 3.5, thì việc thêm tham chiếu sẽ hoạt động. Câu hỏi của tôi là, nếu tôi không thay đổi khung mục tiêu, nhưng chuyển đổi Dự án 1 thành VS 2010, thì công việc tham khảo có phải là vấn đề không? Nói cách khác, là có một số incompatiblity vốn có giữa các thư viện lớp nhắm mục tiêu các phiên bản khuôn khổ khác nhau, hoặc là nó không cho tôi vì VS 2008 không biết về khung 4.0?Tại sao việc thêm tham chiếu vào nhắm mục tiêu dự án .NET Framework 4.0 không thành công?

Trả lời

7

Có vấn đề. Giống như bạn không thể thêm một tham chiếu đến một phiên bản .NET 2.0 từ một dự án .NET 1.0 hoặc 1.1. .NET 4.0 là phiên bản thời gian chạy mới mới (CLR). Các bản phát hành .NET 3.5 và 3.0 đều sử dụng phiên bản 1.phiên bản 1.của khung công tác (CLR).

Bạn luôn có thể thêm tham chiếu từ một hội đồng được xây dựng với thời gian chạy mới hơn cho một hội đồng có thời gian chạy cũ hơn, nhưng không phải là cách khác.

Từ .NET 2.0 (3.0 và 3.5):
* Có thể tham khảo .NET 2.0 (3.0 và 3.5) Assemblies
* KHÔNG thể tham khảo .NET 4.0 lắp ráp

Từ .NET 4.0:
* Có thể tham khảo các phiên bản .NET 4.0
* Có thể tham chiếu các phiên bản .NET 2.0 (3.0 và 3.5)

2

Phiên bản khung 2, 3.0, 3.5 chạy trên CLR phiên bản 2, trong khi phiên bản khung 4 chạy trên CLR phiên bản 4: phiên bản 2 CLR sẽ không tải một assembly mà nói rằng nó yêu cầu CL R 4, do đó, Visual Studio đang cố gắng (nặng, nó giống như âm thanh) để cho bạn biết điều đó. Vì vậy, để trả lời câu hỏi của bạn, có, nếu bạn cập nhật dự án 1 của bạn lên VS 2010 và thay đổi khung đích thành phiên bản 4, (nó thực hiện điều này theo mặc định cho các dự án C++, nhưng không phải C#/VB.NET), nó sẽ có thể để tham khảo dự án 2.

0

Nếu bạn muốn sử dụng lắp ráp nhằm mục đích .net framework 4 từ lắp ráp nhằm vào .net framework 3.5, bạn có thể xuất khẩu lắp ráp (.net framework 4) thông qua COM và nhập khẩu vào lắp ráp .net framework 3.5 .

Xin lỗi vì tiếng Anh kém của tôi.

+0

Tiếng Anh của bạn hoàn toàn dễ hiểu. Không có gì để xin lỗi. Xin chúc mừng! :) –

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