2011-01-13 5 views
9

저는 항상 .NET 2에서 실행되는 .NET 프레임 워크를 기반으로하는 애플리케이션을 코딩/지원합니다. 올해는 .NET 3.5 (또는 4?)를 사용하도록 애플리케이션을 업그레이드하고 있습니다..NET Framework 3.5 오프라인 설치 프로그램이 .NET 4 오프라인 설치 프로그램보다 200MB 클 경우 어떻게됩니까?

이 변경을 준비하면서 .NET 3.5의 오프라인 설치 프로그램 (고객 기반에 필요)이 .NET 4 오프라인 설치 프로그램보다 200MB 이상 클 것으로 나타났습니다.

내 질문 사항은 다음과 같습니다.

dotnet 3.5 설치 프로그램이 4 오프라인 설치 프로그램보다 훨씬 큰 이유는 무엇입니까?

우리는 .NET 3.5를 대상으로 할 수 있지만 .NET 4를 배포 할 수 있습니까? 즉, .NET 4는 이전 버전과 호환됩니까? .NET 4가 유일하게 설치된 .NET이라고 가정하면 여전히 이전 프레임 워크를 대상으로 할 수 있습니까?

응용 프로그램이 모든 CPU가 아닌 x86 CPU 용으로 컴파일 된 경우 x64/x86 클라이언트 프로필을 배포해야합니까? 아니면 x86 클라이언트 프로필 만 배포 할 수 있습니까? 다시 말해 x86 클라이언트 프로파일이 x64 시스템에 설치 되더라도 x86 클라이언트 프로파일을 배포 할 수 있습니까? 이 일을하기 위해 어떤 위험이나 어려움이 있습니까?

우리가 목표로하는 응용 프로그램을 .NET 4로 업그레이드하면 업그레이드해야하는 응용 프로그램 서버가 많아서 다른 응용 프로그램에도 영향을 미치게됩니다. 이견있는 사람?

세스

+1

좋은 질문이 있는데, 나는 똑같은 것을 보았습니다. – Tom

답변

3

.NET 3.5는 .NET 3.0 및 .NET 2.0과 완벽하게 호환됩니다 - 그것은 따라서뿐만 아니라 그 이전의 두 버전을 모두 포함한다. 반면에 .NET 4.0은 처음부터 시작하여 비추천/불필요한 코드를 삭제할 수 있습니다. 이것은 또한 .NET 4.0이 .NET 3.5 코드를 변경하지 않고 실행할 수 있다는 것을 의미합니다. 즉, 또 다른 SO answer on some of the breaking changes there이 있습니다.

+0

이것은 정확하지 않으며, 어셈블리의 버전이 따로 없습니다. 2.0에서 3.5 SP1 사이의 모든 기본 어셈블리에는 어셈블리 버전 2.0.0.0이 있습니다. –

+1

@Hans, 실제로. 그래서 3.5에서 모든 이전 버전을 포함한다고 말한 것입니다 (프레임 워크 버전은 어셈블리 버전과 관련이 거의 없습니다) – bdonlan

8

전제 조건 때문입니다. 닷넷 4.0 설치 대상 컴퓨터

  • XP SP3로 업데이트 할 필요
  • 비스타 SP1
  • 서버 2003 SP2
  • 가 Server 2008 또는 Win7에

3.5 SP1 설치 프로그램입니다 훨씬 더 관대하지 않고 XP의 원래 버전에서 실행될 수도 있습니다. 이 작업을 수행하려면 많은 핵심 Windows 구성 요소의 업데이트가 포함되어야합니다. 231 MB 설치 프로그램의 상당 부분은 실제로 .NET 구성 요소가 아닙니다.

또한 주목할만한 것은 .NET 4.0에서 클라이언트 프로파일과 정식 버전 간의 차이점이 거의 사라졌습니다. 가득 차있는 버전은 단지 15 % 더 크다, 클라이언트 단면도를 표적으로하기에있는 다량 점이 없다.

관련 문제