2011-10-19 21 views
7

Tôi đã là ứng dụng C# được nhắm mục tiêu đến phiên bản .Net framework 3.5. Các nhị phân làm việc tốt khi Net framework 3.5 được cài đặt. Nhưng nó được đưa ra một số isssues incompatability với Net 4.0.Các vấn đề không tương thích của khung công tác Net

tôi nhìn thấy ngoại lệ sau đây:

Caught ngoại lệ ở Phương pháp: InitializeComponent Line: 0 Cột: 0 Ngoại lệ: Không thể tải tập tin hoặc lắp ráp ' WindowsFormsIntegration, Phiên bản = 3.0.0.0, Văn hóa = trung lập, PublicKeyToken = 31bf3856ad364e35 'hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy các tập tin được chỉ định.

+6

Bạn có khuôn khổ 4.0 Khách hàng hoặc Đầy đủ trên máy mục tiêu không? – Marco

+0

Lỗi có nhất quán trên nhiều máy không? –

+1

Ngoài ra, * lý tưởng * mã của bạn nên sử dụng rõ ràng phiên bản .NET 4.0 của dll –

Trả lời

3

Tôi nghĩ rằng tất cả các thông tin mà bạn cần phải giải quyết này đã được đăng trong các ý kiến, để tóm tắt tuy nhiên:

Thông tin mà bạn thực sự cần là trong ngoại lệ được đăng (tôi nhấn mạnh):

không thể tải tập tin hoặc lắp ráp 'WindowsFormsIntegration, Version = 3.0.0.0

nó cố gắng để tải các phiên bản Net 3.0 của WindowsFormsIntegration.dll nhưng không thể tìm thấy tệp (hoặc một trong các phụ thuộc của nó) có lẽ là do khung .Net 3.0 không được cài đặt trên máy khách. Lưu ý rằng khung công tác .Net v4.0 độc lập với phiên bản trước của khung công tác .Net - không có guarentee nào .Net framework v3.0 sẽ sẵn sàng trên một máy ngay cả khi .Net framework v4.0 hiện diện.

Nếu bạn cài đặt khuôn khổ phiên bản Net 3.0 thì chương trình của bạn nên hoạt động trở lại (trừ các vấn đề khác), tuy nhiên thực sự nếu bạn đang nhắm mục tiêu các Net 4.0 framework mà bạn nên tham khảo các phiên bản 4,0 Net của WindowsFormsIntegration.dll. Chỉ cần xóa tham chiếu hiện tại và thêm tham chiếu khác vào phiên bản .Net 4.0 thay thế.

Lưu ý: Thuộc tính "Phiên bản cụ thể" là cài đặt thời gian biên dịch cho phép Visual Studio xây dựng ngay cả khi nó không có quyền truy cập vào phiên bản chính xác. của hội đồng phải có mặt. Xem What you need to know about referenced assemblies in VS2005

+0

+1: .Net 4.0 KHÔNG chứa 3.5. Tuy nhiên, tôi tin rằng con đường tốt nhất là cài đặt 3,5 vào mục tiêu thay vì mucking về với cố gắng chuyển đổi ứng dụng của mình thành 4.0 – NotMe

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