2010-03-14 4 views

답변

7

.NET 3.5 용으로 컴파일 된 경우에도 어셈블리가 .NET 4에서 실행될 수 있어야합니다. 여기에 멋진 picture이 있습니다.

+0

프로젝트의 대상 프레임 워크가 .NET 4.0으로 설정된 경우에만 그렇게됩니다. 이것이 없다면 메시지에 오류가 발생합니다 : 참조 된 어셈블리 "Ninject"가 현재 대상으로되어 있지 않은 "System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a"에 대한 종속성을 가지고 있기 때문에 해결할 수 없습니다 프레임 워크 ".NETFramework, 버전 = v4.0, 프로필 = 클라이언트". 타겟 프레임 워크에없는 어셈블리에 대한 참조를 제거하거나 프로젝트 대상을 재 지정하십시오. – mgamer

+1

.NET 3.5를 대상으로하는 프로젝트에서 .NET 4 용으로 컴파일 된 Ninject 버전을 사용하고있는 것으로 보입니다. 이건 불가능 해. .NET 3.5 용으로 컴파일 된 Ninject 버전을 다운로드하십시오. –

+0

System.Web 문제는 그가 dll을 사용할 수없는 클라이언트 프로필을 사용하고 있다는 것입니다. Ninject는 기본적으로 System.Web.dll에 대해 컴파일합니다. 원하는 경우 NO_WEB 옵션을 사용하여 컴파일 할 수 있습니다. –

13

비슷한 문제가 발생했습니다 ... 클라이언트 프로필이 아닌 전체 .NET 4 프레임 워크를 대상으로 설정하십시오.

System.Web은 .NET 4에 있지만 .NET 4 Client Profile에는 없습니다. 따라서 3.5 sp1에 대해 컴파일 된 전체 Ninject를 활용하는 어셈블리의 경우 System.Web에 대한 종속성을 위해 .NET 4 Client Profile을 대상으로하지는 않지만 .NET 4 프로파일 전체를 대상으로해야합니다. 만족해야합니다.

+0

예. 이렇게하면 작동합니다. +1 – rem