2011-01-13 48 views
9

Tôi có mã/hỗ trợ ứng dụng được xây dựng trên .NET framework luôn chạy trên .NET 2. Năm nay chúng tôi đang nâng cấp ứng dụng để sử dụng .NET 3.5 (hoặc 4?).Trình cài đặt .NET framework 3.5 ngoại tuyến lớn hơn 200 MBs so với trình cài đặt .NET 4 offline như thế nào?

Khi chuẩn bị cho thay đổi này, chúng tôi nhận thấy rằng Trình cài đặt ngoại tuyến (bắt buộc đối với cơ sở khách hàng của chúng tôi) cho .NET 3.5 lớn hơn 200+ MBs so với trình cài đặt .NET 4 ngoại tuyến.

Đây là câu hỏi của tôi.

Tại sao trình cài đặt dotnet 3.5 lớn hơn nhiều so với trình cài đặt 4 ngoại tuyến?

Chúng tôi có thể MỤC TIÊU .NET 3.5 nhưng phân phối .NET 4. Nói cách khác, .NET 4 có tương thích ngược không? Giả sử rằng .NET 4 là ứng dụng duy nhất được cài đặt .NET có thể vẫn nhắm vào các khung công tác trước đó? Nếu ứng dụng của chúng tôi được biên dịch cho CPU x86 (thay vì bất kỳ CPU nào), bạn vẫn phải phân phối Hồ sơ Khách hàng x64/x86 hoặc chúng tôi có thể phân phối Hồ sơ Khách hàng x86 không? Không. Nói cách khác, chúng ta có thể phân phối Hồ sơ Khách hàng x86 ngay cả khi nó sẽ được cài đặt trên các máy x64 nếu ứng dụng của chúng tôi được biên dịch cho CPU mục tiêu x86 không? Bất kỳ rủi ro hoặc gotchas để làm điều này?

Vấn đề là nếu chúng tôi nâng cấp ứng dụng của mình lên mục tiêu .NET 4, có rất nhiều máy chủ ứng dụng mà chúng tôi cũng phải nâng cấp có tác dụng lên một số ứng dụng khác. Có suy nghĩ gì không?

Seth

+1

câu hỏi hay, tôi tự hỏi chính điều tương tự :) – Tom

Trả lời

3

.NET 3.5 hoàn toàn tương thích ngược với .NET 3.0 và .NET 2.0 - do đó bao gồm tất cả hai phiên bản trước đó. .NET 4.0, mặt khác, bắt đầu từ đầu, và có thể hủy bỏ mã không cần thiết/không cần thiết. Điều này cũng có nghĩa là .NET 4.0 không nhất thiết phải chạy .NET 3.5 mã không thay đổi - có một SO answer on some of the breaking changes there khác.

+0

Điều này không chính xác, không có phiên bản riêng biệt của hội đồng. Tất cả các hội đồng cơ sở từ 2.0 đến 3.5 SP1 đều có phiên bản lắp ráp 2.0.0.0 –

+1

@Hans, thật vậy. Đó là lý do tại sao tôi nói 3.5 bao gồm tất cả các phiên bản trước đó (phiên bản của khung công tác này ít có liên quan đến các phiên bản lắp ráp) – bdonlan

8

Đó là do các điều kiện tiên quyết. Trình cài đặt .NET 4.0 đòi hỏi máy mục tiêu để được cập nhật để

  • XP SP3
  • Vista SP1
  • Server 2003 SP2
  • Server 2008 hoặc Win7

trình cài đặt 3.5 SP1 là khoan dung hơn nhiều, nó thậm chí có thể chạy trên phiên bản gốc của XP. Để thực hiện công việc đó, nó cần bao gồm các bản cập nhật của nhiều thành phần cốt lõi của Windows. Một phần đáng kể của trình cài đặt 231 MB đó không thực sự là các thành phần .NET.

Cũng đáng chú ý là trong .NET 4.0, sự khác biệt giữa hồ sơ khách hàng và phiên bản đầy đủ phần lớn đã biến mất. Phiên bản đầy đủ chỉ lớn hơn 15%, không có nhiều điểm trong việc nhắm mục tiêu hồ sơ khách hàng.

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