2011-01-10 2 views
3

프레임 워크 3.0 및 3.5에서도 훌륭하게 작동하는 C# .NET 2.0에서 프로그램을 만들었습니다..Net '모든 프레임 워크'구성

그러나 .NET Framework 4.0이 설치된 유일한 프레임 워크 인 경우 작동하지 않고 사용자가 2.0을 설치해야합니다.

내가 구글에서 다음과 같은 구성을 발견 다음의 app.config이를 추가 한 후

<startup> 
    <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/> 
</startup> 

, 내 프로그램이 문제없이 .NET 프레임 워크 4.0에서 작동합니다!

검색 대상은. NET 2.0에서 설치 프로그램을 실행하거나 .NET 4.0에서 내 프로그램을 실행하는 .NET '모든 프레임 워크'구성입니다.

어떻게 하시겠습니까?

+0

: 여기

는 그것을 필요로하는 모든 사람을위한 구성입니다. .NET4는 .NET2/3/3.5와는 다른 런타임/코어를 사용합니다 (예 : 새로운 .NET API의 문제 만이 아닙니다). 그래서 들어 본 적이없는 CLR2 * 또는 * CLR4를 요구하는 마법 옵션이 없으면 of ... 거기에 최고/유일한 CLR 및 다음 이미지를로드하는 데 프록시 실행 파일을 사용하는 것과 같은 좀 더 악의적 인 방법이있을 수 있습니다. 나도 몰라 :-) –

답변

2

발견! 내가 (한 .NET2, 하나 .NET4)이 두 개의 서로 다른 * 구축 *없이 가능하다 확실하지 않다

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v2.0.50727"/> 
    <supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" /> 
    </startup> 
</configuration> 
+0

여전히 작동하지 않으면 AppName.exe를 번들로 묶어야한다.config를 앱과 함께 (예 : 동일한 폴더에) 배치하십시오. config가 .exe에 내장되어 있다고 생각했지만 그렇지 않습니다. – blade

+0

여기에 대한 자세한 정보는 http://www.codeproject.com/Articles/886256/NET-versioning-and-multi-targeting-on-Csharp-appli –

0

응용 프로그램의 최소 요구 사항을 변경해야하는 것.

2.0로 대상 프레임 워크를 변경 설정 프로젝트로 이동하고 난 것은이 같은 경우에도 사용자가 재생이 디자인으로 구성 없이 작동하지 않습니다 자신의 시스템

3

2.0 또는 4.0 닷넷 프레임 워크를 가지고 있습니다. .NET 4는 다른 런타임을 사용하며 .NET 2 어셈블리를로드하면 기본적으로 CLR 버전 2에서로드됩니다. 이 문제를 방지하고 CLR의 버전 4에서로드하도록 재구성 할 수 있지만 항상 좋은 생각은 아닙니다. 이렇게하면 작성한 코드가 설계되고 테스트 된 프레임 워크와 다른 프레임 워크에서 실행되어 잠재적으로 문제가 될 수 있습니다.

일반적으로 시스템에 적절한 요구 사항을 설치하는 것이 더 쉽고 더 좋습니다. .NET 2를 설치하는 것은 매우 쉽습니다 (기본적으로 Vista +에서 제공됩니다). 이것은 설계된 프레임 워크에서 프로그램을 실행하는 이점이 있습니다.

1

4.0이 설치된 컴퓨터를 찾기가 매우 어려우며 매우입니다. .NET 2.0 호환 버전은 Vista 및 Win7 시스템에 사전 설치되어있어 문제없이 프로그램을 실행합니다. .NET을 설치하지 않은 처녀 XP 시스템이 있어야합니다. 어쩌면 서버 코어. 어떤 경우에 누군가 잘못된 버전의 .NET을 설치하여 약간의 실수를 범했습니다.

어떻게 된 것인지 확실하지 않은 경우 통신 문제와 같은 냄새가납니다. 이 잘못을 저 지르려면 다른 사람에게 맡기면 안됩니다. 앱의 시스템 요구 사항에 XP 지원이 포함되어 있으면 사용 가능한지 확인하는 것이 좋습니다. 설치 프로젝트로 아주 간단합니다.

귀하의 app.config는 틀리며, <requiredRuntime>은 .NET 1.0 이후로 사용되지 않습니다. 적절한 주문은 <requestedRuntime>이며 2.0.50727 및 4.0을 모두 요청하십시오.