2014-07-14 18 views
7

Tôi đã viết ứng dụng giao diện điều khiển C#. .NET Framework được thiết lập mặc định thành phiên bản 4.5. Tôi muốn biết nếu có cách nào, để thử nghiệm ứng dụng với các phiên bản .NET framework hoặc thử nghiệm cũ hơn, phiên bản ứng dụng khung thực sự cần chạy (không liên quan đến khung targettype).Cách xác định phiên bản .NET framework yêu cầu tối thiểu để chạy ứng dụng của tôi

+2

thay đổi khung mục tiêu trong dự án, xem nó có còn biên dịch không? –

+0

Nó phụ thuộc vào mã bạn đã sử dụng. Nếu bạn đã sử dụng 4,5 libs thì bạn sẽ cần v4.5. –

+0

@Làm tốt, ngay cả điều đó cũng không đúng; một loạt các gói 'Microsoft.Bcl' có sẵn để thêm các tính năng BCL sau vào các khung công tác trước đó; rất nhiều tính năng trình biên dịch mới phụ thuộc vào các tính năng đó cũng sẽ hoạt động dựa trên các khung công tác trước đó. Quay trở lại xa hơn nữa, có những thứ như LINQBridge cho biết thêm một số tính năng 3.5 vào 2.0. –

Trả lời

1

Vấn đề của tôi đã được liên quan đến thư viện System.Linq, mà không được hỗ trợ trong .NET khung 2.0. Như bạn có thể đọc trong phần bình luận, tôi đã sửa lỗi này bằng cách sử dụng LINQBridge từ nuGet. Vấn đề khác là, khuôn khổ 2.0 không chứa phương thức công khai Vứt bỏ cho HashAlgorithm. Tôi đã giải quyết vấn đề này bằng cách sử dụng phương thức Clear. Tất cả các lỗi khác đã được cố định với cài đặt lại tất cả các gói nuget.

+0

Bạn có biết rằng Microsoft không còn hỗ trợ .NET 2.0 trừ khi bạn có .NET 3.5 SP1 được áp dụng không? Nếu bạn biết điều đó, bạn sẽ có thể dừng ngay bây giờ và tập trung vào .NET 3.5+. Đừng lãng phí thêm thời gian nữa. http://blogs.technet.com/b/lifecycle/archive/2010/04/30/net-framework-3-5-sp1-and-later-now-supported-as-part-of-microsoft-windows. aspx –

2

Bạn có thể thêm một số mục nhập vào tệp app.config của mình để nhắm mục tiêu phiên bản cụ thể của khung công tác, để ghi đè phiên bản được tạo. Rõ ràng bạn vẫn cần phải kiểm tra rằng nó hoạt động với các phiên bản này nhưng điều này cho phép bạn chạy trên các phiên bản khác nhau của khuôn khổ:

<configuration> 
    <!-- this is used if they only have net 4 installed--> 
    <!-- 
    <runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true"/> 
    </runtime> 
    --> 
    <startup> 
    <supportedRuntime version="v2.0.50727"/> 
    <supportedRuntime version="v4.0.30319"/> 
    </startup> 
</configuration> 
+0

+1, có lẽ bạn cũng có thể thêm nhận xét hoặc gợi ý về phần tử ''? – stakx

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