Ứng dụng của chúng tôi được xây dựng với VS 2008, sử dụng LINQ và có Khung mục tiêu được đặt thành .NET Framework3.5.Cách buộc ứng dụng sử dụng .NET 3.5 trở lên?
Nó hoạt động OK khi chỉ .NET 3.5 hoặc 4 được cài đặt trên máy.
Tuy nhiên, trên máy có cả .NET 2 (hoặc 3.0) và .NET 4 được cài đặt, ứng dụng được tải với .NET 2 và treo khi LINQ được truy cập, vì nó tìm thư viện .NET 3.5.
Sử dụng thẻ trong app.config dường như không hữu ích vì nó chỉ định phiên bản CLR, là 2 trong trường hợp .NET 3.5.
Lưu ý rằng cài đặt của chúng tôi xác minh rằng .NET 3.5 trở lên được cài đặt.
Có cách nào để nói với các ứng dụng để tải:
- các CLR cao nhất nó tìm thấy, hoặc
- CLR 4 nếu nó được cài đặt, và CLR 2 nếu CLR 4 chưa được cài đặt hoặc
- CLR 2 nếu .NET 3.5 được cài đặt và CLR 4 nếu .NET 3.5 chưa được cài đặt
(Lưu ý rằng câu hỏi tương tự còn lại chưa được trả lời trong the Community Content section of the Element documentation)
Bạn không thể gỡ lỗi với thiết lập này - nó đưa ra lỗi và .NET 4 không được hỗ trợ bởi VS2008. Nó hoạt động OK cho chạy bản phát hành xây dựng bên ngoài VS mặc dù. – ChrisF
Tôi đã có kinh nghiệm với các ứng dụng không khởi động được nếu phần tử không nằm ở cuối tệp (ngay trước configuration>), trên Framework v3.5 ít nhất. Giá trị cố gắng di chuyển phần cấu hình này về phía cuối tệp nếu bạn gặp sự cố khởi động. –
SteveWilkinson
Nếu tôi chỉ để lại v4.0 dưới dạng SupportedRuntime và trong hệ thống chỉ có v4.5 thì nó sẽ vẫn chưa được sao? Làm thế nào để buộc chỉ sử dụng một phiên bản? – Kamilos