2011-04-21 7 views
2

.NET 3.5 및 .NET 4.0에서 작성된 2 개의 데스크탑 호스트 응용 프로그램이 있습니다. .NET 3.5에 작성된 3 개의 추가 기능이 있습니다. 하나의 추가 기능이 .NET 4 - "NET4APP"에 작성되었습니다..NET 3.5 응용 프로그램에서 .NET 4.0 응용 프로그램 실행

우리는 모든 추가 기능에 .NET 3.5 호스트 응용 프로그램을 사용하여 호스트 응용 프로그램과 추가 기능을 통합하려고합니다.

MSI 패키지와 함께 번들로 제공 될 수 있습니다.

NET4가 없으면 NET4를 사용하도록하고 NET4APP는 사용하지 않습니다.

.NET 3.5 앱에 .NET 4 앱 (또는 .NET 4 런타임)을로드 할 수있는 방법이 있습니까?

+4

나는 그것을 얻지 않는다. 고객이 .NET4를 가지고 있지 않다면 .NET4 런타임을 어떻게로드 할 것입니까? –

+0

고객이 NET4APP를 사용하지 않으려는 경우 .NET 4.0을 설치해서는 안됩니다. 그러나 NET4APP를 사용하는 고객은 .NET 3.5 응용 프로그램과 통합 된/통합 된 경험을 제공 받아야합니다. –

답변

2

.NET4를 사용하는 고객은 .NET4에서 모든 것을 실행할 수 있습니다. 두 가지 설정 (NET4APP가있는 설정과없는 설정)을 제공하면 모든 사용자가 만족할 것입니다.

+0

시작시 CLR 4 또는 2를로드하는 C++ 로더를 작성한 것으로 보입니다. .NET 3.5 추가 기능은 CLR 4.0이있을 때 실행됩니다. CLR 4.0 만 필요한 추가 기능은 CLR 2 만있는 경우로드되지 않습니다. –

3

아니오; 그러나 .NET 3.5에서 .NET 4.0 응용 프로그램을 컴파일하고 어떻게되는지 확인해야합니다. 4.0에 특정한 것을 사용하지 않고 3.5로 컴파일 할 수 있습니다.

1

고객 또는 컴퓨터에 설치되어 있지 않은 경우 .Net 4 런타임을로드 할 수 없습니다. 닷넷 3.5 응용 프로그램을 .Net 3.5로 구축하려고 시도한 적이 있습니까? .Net 4에 특정한 구성 요소를 사용하지 않을 가능성이 있습니다.

4

.net 3.5 런타임 (실제로 .net 2.0 런타임)에서는 .net 4.0 응용 프로그램을 실행할 수 없습니다. .net 3.5 응용 프로그램이 될 경우 .net 3.5 런타임 응용 프로그램이 .net 2.0 런타임에서 실행 중이므로 2.0 런타임에서 실행할 수 있습니다. 그러나 문제가있을 수 있습니다.이 방법은 위험합니다. 그리고 .net 4.0 응용 프로그램을 실행하려면 .net 4.0 런타임을 사용해야합니다. 선택의 여지가 없습니다. 또는 .net 3.5로 다시 작성해야합니다.

일부 클라이언트에는 .net 3.5가 설치되지 않았기 때문에 .net 3.5에서 .net 2.0 RTM으로 프로젝트의 일부를 다시 작성해야했지만 일부 이벤트에는 2.0 SP1이 설치되지 않았습니다. 우리는 .net 2.0 RTM을 준수하기 위해 제품을 다시 작성했습니다. 우리는 여전히 .net 3.5의 일부 기능을 사용하여 .net 3.5 어셈블리 중 일부를 우리 제품과 함께 배포합니다. 사실 우리가 여전히 확장 메소드, lambdas, linq-to-objects를 사용할 수 있기 때문에 문제가되지 않았습니다. 그리고 .net 3.5 런타임으로 되돌아 가셔도 아무런 문제가 없을 것이라고 확신합니다. .net 3.5에서 .net 2.0으로 물러서는 것이 훨씬 더 고통 스럽습니다.

관련 문제