2013-04-29 2 views
3

우리는 .NET 2 Framework (C#)을 기반으로하고 WindowsXP와 Windows 8에서 호환되지만 32 비트 만 사용할 수있는 작은 응용 프로그램을 가지고 있습니다. (우리의 빌드 시스템도 항상 32 비트이기 때문에). 우리는 이제 약간의 변경을하고 64 비트 버전을 만들려고합니다..Net 2에서 최신 버전으로 업그레이드해야합니까?

내 질문은 지금, 우리는 또한 미래에 대한 준비가 될 때까지 .NET 프레임 워크의 최신 버전으로 업그레이드해야 또는 우리는 우리의 기존의 .NET 프레임 워크와 함께 머물 수 있습니다 2.

그것은해야 여전히 Windows XP 및 모든 최신 Windows (32 및 64 비트)와 호환 될 수 있습니다.

+0

추상적으로 예, 그렇습니다. 그러나 작동하지 않으면 아무 것도 변경할 필요가 없습니다. – Jodrell

+0

얼마나 작은가요? 실제로 작은 경우, 이후 버전의 .NET으로 업그레이드 할 때 문제가 발생하더라도 수정이시기 적절해야합니다. 그래서, 나는 점프를 할 것입니다. – user1477388

+0

http://msdn.microsoft.com/en-us/library/ff602939.aspx –

답변

4

언제든지 버전 4의 프레임 워크로 업그레이드 할 수 있으며 이전 버전의 Windows와 계속 호환됩니다.

그 외에도 항상 "모든 CPU"로 .Net 응용 프로그램을 빌드해야합니다. 그것은 중간 코드를 생성 할 것이고 나중에 JIT 컴파일러는 실행중인 머신에 따라 32 비트 또는 64 비트 아키텍처로 컴파일합니다.

.Net 응용 프로그램에서 관리되지 않는 dll을 참조하는 경우에만 CPU 아키텍처에 대해 신경 써야합니다.

예, 여전히 Windows XP 및 모든 최신 버전의 Windows와 호환됩니다. 프레임 워크 4로 업그레이드하면 프레임 워크가 설치되지 않으므로 Windows XP SP 3을 설치해야합니다.

내가 아는 한, 프레임 워크 4.5는 Windows 7 이상에만 설치할 수 있으므로 프레임 워크 4.5로 업그레이드하는 것이 옵션이 아닐 수도 있습니다.

+0

위대한, 나는 잊어 버렸습니다, 임베디드 윈도우 XP는 어떻습니까? – FiveO

+0

정말 "항상"호환 될까요? 변경 내용은 어떻게됩니까? http://www.asp.net/whitepapers/aspnet4/breaking-changes – user1477388

+1

중단해야하는 경우 첫 번째 인스턴스에서 중단됩니다. 성공적으로 업그레이드 할 수 있다면 새로운 프레임 워크로 앱을 빌드하고 실행할 수 있지만 계속해서 작동 할 것입니다. 전통 프레임 워크 패치와 업데이트는 결코 바이너리 호환성을 깨뜨리지 않지만 극단적 인 경우 예외가있을 수 있습니다. –

0

.NET 3.5 또는 4.0으로 업그레이드하면 더 적은 인력이 프레임 워크를 설치할 것이므로 더 나은 CLR을 얻고 새로운 언어 기능을 사용할 수 있다는 단점이 있습니다.

응용 프로그램 원본을 변경하지 않으려는 경우 새 언어 기능을 사용하지 않고 최종 사용자를위한 새로운 종속성 (새로운 프레임 워크) 만 추가하게됩니다. 이 경우 2.0에서 4.0으로 갈 때 어떤 점도 보이지 않습니다.

응용 프로그램을 계속 개발하려면 LINQ와 같은 프레임 워크에서 새로운 기능을 사용하려면 3.5 또는 4.0으로 이동하는 것이 좋습니다.

는 XP와의 하위 호환성을 유지하려면 그렇게 당신이 4.5로 업그레이드 할 수 없습니다 4.5 프레임 워크가 Windows XP와 호환되지 않는 점에 유의 마십시오. XP를 대상으로 삼기 위해서는 4.0 이하가되어야합니다.

출력 플랫폼에 관해서는, 나는 이런 식으로 컴파일하는 것이 좋습니다 : 기본 의존성

  • 어셈블리 : 명시 적으로 x86 및 x64을 컴파일합니다.
  • 진입 점 어셈블리 (기본적으로 .exe) : x86 및 x64 용으로 명시 적으로 컴파일하십시오.
  • 다른 모든 어셈블리 : AnyCPU로 컴파일하십시오.

실행 파일에 명시 적 플랫폼을 사용하는 것은 사용자에게 가장 놀랍지 않으며 64 비트 시스템의 사용자가 원하는 경우 32 비트 응용 프로그램을 실행할 수 있기 때문에 좋은 원칙입니다. http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx

+0

완벽한 답변! 글쎄 윈도우 XP는 여전히 매우 중요하다. 그래서 4.5 버전은 옵션이 아니다. 필자는 임베디드 XP가 최대 3.5까지 지원한다는 것을 읽었으므로 향후 Windows 버전에서 실제로 문제가 발생할 때까지 .NET 2에 머물러있을 것이라고 추측합니다. 그러나 지금까지 .NET 2는 새로운 Windows 8 시스템에서도 작동합니다. 감사 – FiveO

관련 문제