2009-07-13 9 views
0

현재 MMC 스냅인을 개발 중이지만 .Net 4.0 프레임 워크를 사용하여 완료되었습니다. MMC는 이전 버전의 런타임을로드하고 있습니다.MMC .Net 런타임 버전

전체 프로젝트가 4.0 (지금까지는 5000 LOC)으로 작성되었으므로 이전 버전의 런타임을 사용하는 것은 실제로 옵션이 아닙니다. 이것은 단지 관리 프론트 엔드 (공상 : P)입니다.

MMC 레지스트리 키를 확인했으며 거기에 버전 v4.0.20506이 있습니다. 다른 MMC .Net interop 구성을 찾을 수 없습니다.

아이디어가 있으십니까?

+0

당신은 Add10을 개발하기 위해 Dev10을 사용하고 있다고 가정하고 있습니까? 또한 64 비트 시스템에서 실행하고 있습니까? – mfawzymkh

+0

@mfawzymkh 옙 - 그 자리에 내가 앉아있다 –

답변

3

, 나는 호스트 프로세스가 명시 적으로 .NET 4.0 some new APIs를 통해 여러 런타임을 지원해야 확인할 수 있습니다.

.NET 4.0도 베타 버전이기 때문에 MMC (Windows 7에서도)가 이러한 API를 지원하는지 의심 스럽습니다. 그가하는 드문 기회, 당신은 당신의 구성에서 supportedRuntime 요소를 사용하여 사용하도록 강제 할 수 있습니다 : 그 실패

<configuration> 
    <startup> 
     <supportedRuntime version="v4.0.20506"/> 
    </startup> 
</configuration> 

그러나, 당신이 운이있다 두려워. 그러면 .NET 2.0을 대상으로 프로젝트를 변경할 수 있습니다.

또는 자체 런타임을 호스팅하고 관리 대상을로드하는 관리되지 않는 MMC 스냅인을 작성할 수 있습니다. 그 .NET 4.0 기능이 얼마나 심하게 필요합니까?

+0

고마워. 나는 이것을 줄 것이다 - 얼마나 심하게 그들을 필요로 하는가? 그 후 개인적으로 프레임 워크 4로 업그레이드 된 6000 LOC ... –

+0

그 중 얼마나 많은 행에 .NET 4.0 종속성이 있습니까? EF4, WF4, 동적 키워드 또는 새 API를 사용하고 있습니까? 그렇지 않은 경우, 거의 변경하지 않고 2.0에 대해 실행할 수 있습니다. –

+0

(2.0에 의해 2.0 ~ 3.5 평균) –

1

... 또는 당신은 환경 변수를 다음과 같이 버전 4.0을 사용하는 MMC를 강제 할 수

set COMPLUS_Version=v4.0.30319 
1

마이크로 소프트는 이후 http://msdn.microsoft.com/en-us/library/windows/desktop/gg983006(v=vs.85).aspx 는 기본적으로, 당신이 마법의 환경 변수를 만들 MMC 및 CLR 버전에 대한이 기사를 올렸습니다 이는 CLR 시작을 MMC 스냅인과 관련된 구성 파일로 지정합니다.

개인적으로 CLR 4를 사용하기 위해 단순히 MMC.EXE를 변경하면 모든 사람의 삶이 편하게 만들어 졌을 것이라고 생각합니다.하지만 어떤 이유로 든 그 방향으로 가지 않기로 결정했습니다.