2010-06-30 43 views
12

Tôi đã gặp phải sự cố lạ. Tôi đã cài đặt "Visual Studio 2010 ultimate". Trong khi cài đặt nó cho thấy rằng nó đã được cài đặt thành công .NET 4.0. Trong khi cài đặt một số phần mềm khác. Họ phàn nàn rằng .NET 2.0 bị thiếu và yêu cầu tôi cài đặt nó.Không .NET 4.0 có .NET 2.0 không?

Làm cách nào có thể? .NET 4.0 phải bao gồm .NET 2.0 phải không?

EDIT:

Bây giờ, tôi đang bối rối. Theo số http://en.wikipedia.org/wiki/File:DotNet.svg CLR này là một phần của .NET 2.0. Cài đặt .NET framework 4.0 ngụ ý cài đặt toàn bộ stack. cũng bao gồm .NET 2.0. Vui lòng xóa sự nhầm lẫn này.

+1

Bạn đang sử dụng hệ điều hành nào? Vista đi kèm với .NET 2.0 theo mặc định và Windows 7 với .NET 3.5 SP1. –

+0

"Phải" là một giả định để thực hiện. .Net 2.0 không bao gồm .Net 1.0, nhớ không? –

Trả lời

13

số .NET 4.0 là một CLR độc lập, nó là không dựa trên 2.0, không giống như 3.0 và 3.5

0

Nếu tôi không misstaken, 2010 mục tiêu NET 4.0 framework. Dường như bạn thiếu khung .Net 2.0 trên máy tính của mình.

0

như xa như tôi biết v2.0.50727 CLR làm việc trên v4.0.30319

0

Có và không - bạn có thể chạy mã NET 2 trên bộ thực thi .NET 4 nhưng họ là động cơ chạy riêng biệt.

Tùy thuộc vào cách trình cài đặt kiểm tra .NET. Nó không được phát hiện 4 hoặc có thể nó từ chối nó là sai: bao giờ nó an toàn nhất để chạy mã trong môi trường chính xác mà nó đã được phát triển.

2/3.5 là cài đặt song song. Tôi đề nghị bạn chỉ cần cài đặt nó - nó không nên gây ra cho bạn bất kỳ vấn đề.

8

.NET 4.0 là phiên bản mới của thời gian chạy, nó độc lập với .NET 2.0.

Phiên bản mới của khung không bao gồm các phiên bản trước, chúng được xây dựng dưới dạng phiên bản cụ thể với một tính năng cụ thể. .NET 4.0 có một thời gian chạy mới và BCL mới hơn (thư viện lớp cơ sở). BCL về cơ bản có tất cả các loại giống như BCL .NET 2.0/3.0/3.5 (mặc dù có các thay đổi có thể xảy ra) và một số nội dung mới. Hai phiên bản khung (v2.0 và v4.0) chạy song song.

Thực tế là bạn chưa cài đặt .NET 2.0 đáng lo ngại vì nó được phân phối thông qua dịch vụ Windows Update. Bạn đang sử dụng hệ điều hành nào?

+0

Windows XP ____ – pecker

+0

Đây có phải là môi trường công ty không? Tôi sẽ tải xuống và cài đặt Khuôn khổ .NET 3.5, bao gồm thời gian chạy v2, cũng như v3.5 BCL http://www.microsoft.com/downloads/details.aspx?familyid=AB99342F-5D1A- 413D-8319-81DA479AB0D7 & displaylang = vi –

4

Như những người khác đã nói, .net 4.0 có một CLR mới khác với CLR .net 2.0.

Theo mặc định, một ứng dụng sẽ cố gắng chạy trên CLR được xây dựng dựa trên đó.

Bạn có thể sửa đổi các tập tin applications.exe.config với <SupportedRuntime> element nói một cách rõ ràng hệ thống mà runtimes sự hỗ trợ ứng dụng (Trình tự xác định ưu tiên):

<configuration> 
    <startup> 
     <supportedRuntime version="v2.0.50727"/> 
     <supportedRuntime version="v4.0.30319"/> 
    </startup> 
</configuration> 

(Rõ ràng là nếu có cái gì đó trong bạn ứng dụng mà phụ thuộc vào một cái gì đó trong .net 2.0 đã thay đổi thì đây vẫn sẽ thất bại)

Thật không may, nếu ứng dụng của bạn được không cài đặt, đó là bởi vì trình cài đặt được kiểm tra một cách rõ ràng rằng .net 2.0 tồn tại chứ không phải là phiên bản > = 2,0, nếu đây là trường hợp bạn có thể thử tìm kiếm.tải xuống zip chứ không phải là trình cài đặt, nhưng ngoài ra không có nhiều thứ bạn có thể làm ngoài việc cài đặt .net 2.0 cũng như các cài đặt cạnh nhau của nhiều phiên bản được hỗ trợ đầy đủ.

5

Vấn đề là có hai số "mọi thứ" khi bạn tham khảo .NET 2.0 hoặc .NET 4.0.

Đúng là:

  • .NET 4.5 Khung lớp thư viện
  • chứa mọi thứ từ thư viện lớp .NET Framework
  • chứa mọi thứ từ NET 3.5 SP1 thư viện lớp khung
  • chứa mọi thứ từ thư viện lớp .NET 3.0 SP2
  • chứa mọi thứ từ thư viện lớp .NET 2.0 SP2
  • chứa mọi thứ từ NET 1.1 SP1 lớp khung thư viện

Sử dụng một sơ đồ hữu ích từ Microsoft .NET Framework Versions and Dependencies: enter image description here

Vấn đề là các Khung khác với Runtime. Có Sáu phiên bản của .NET Framework , nhưng chỉ Bốn phiên bản của .NET CLR (Common Language Runtime):

  • CLR 1.1: tàu với .NET Framework 1.1
  • CLR 2.0 : tàu với .NET Framework 2.0 SP2, 3.0 SP2, 3.5 SP1
  • CLR 4.0: tàu với .NET Framework 4
  • CLR 4.5: tàu với .NET Framework 4.5

Điều đó có nghĩa là nếu bạn cài đặt .NET Framework 4, bạn vẫn có thể sử dụng các lớp mà bạn đã sử dụng lại .NET 2. Nhưng nếu ứng dụng của bạn yêu cầu phiên bản 2 của CLR nó sẽ không hoạt động - bởi vì CLR 2.0 chưa được cài đặt với .NET Framework 4.0.

+0

Chỉ cần không quan tâm - hình ảnh đó đến từ đâu? Nó không xuất hiện trên liên kết. – Kye

+1

@Kye Nó từng ở đó. Microsoft kể từ khi loại bỏ nó. [Nhưng họ không thể xóa nó khỏi archive.org!] (Https://web.archive.org/web/20120201195011/http://msdn.microsoft.com/en-us/library/bb822049 (v = VS .110) .aspx) –

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