2010-05-14 7 views
4

계약으로 코딩하려고합니다. VS2010 (C# 4.0 컴파일러 사용)이 있지만 3.5 프레임 워크를 대상으로해야합니다.어떤 타사 코드 라이브러리가 MS의 .NET 4.0 라이브러리와 가장 비슷합니까?

계약 라이브러리 별 제 3 자 코드에는 .NET 4.0과 가장 유사한 클래스와 인터페이스가 있습니까? user guide에서

+0

[Microsoft의] (http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx)를 사용해 보셨습니까? 그것은 MSIL을 다시 작성함으로써 작동하기 때문에 실제로 "라이브러리"가 아니며 3.5에서 정상적으로 작동 할 것으로 기대합니다. –

+0

"using System.Diagnostics.Contracts;"를 추가하면 그것은 계약서가 없다고 말합니다. MSDN은 mscorlib.dll에 있다고 말합니다. 3.5 버전을 목표로하는 프로젝트에서 4.0 버전을 참조 할 수 있다면 놀랄 것입니다. – MatthewMartin

+0

Microsoft.Contracts dll을 참조하십시오. 그게 어쨌든 3.5 클래스였습니다. –

답변

9

:

가 CLR v4의 시작은 계약 클래스와 관련 타입은 가 mscorlib.dll에 있습니다. CLR v4 이전에 이러한 형식은 Microsoft .Contracts라는 별도의 어셈블리 에 표시됩니다. DLL 이 % PROGRAMFILES %/Microsoft/Contracts/PublicAssemblies 아래에 설치되어 있습니다. 을 4.0 CLR 이전 버전으로 컴파일하는 경우이 어셈블리를 에 대한 참조를 추가해야 할 수 있습니다.

당신에 대해 같은 내장 된 어셈블리를 사용하려는 경우 당신은 몇 가지 흥미로운 문제가있을 수 있습니다

모두 3.5 4.0 (나도 몰라 - 작동 단지 수) 그냥 3.5을 사용하는 경우 만 해당 괜찮을거야.

확장 프로그램은 VS2008뿐만 아니라 VS2008에도 설치됩니다.

+0

여러 CLR 버전에 대해 동일한 어셈블리를 만들 수 있습니까? 사실 ... 너 왜 그러고 싶니? – Powerlord

+0

@R. Bemrose : .NET 3.5와 .NET 4.0에 대해 실행중인 응용 프로그램이있는 경우 제대로 작동하면 한 번만 빌드하려고 할 수 있습니다. –

+0

관련 클래스가 CC 재 작성자에 의해 * 사용자 * 어셈블리로 컴파일되므로 버전 관련 문제가 없어야합니다. (적어도 이것은 리플 렉토에서 수집 한 것입니다!) – porges