문제

내가 일하는 코드베이스는 .NET 2.0입니다. 새로운 어셈블리/DLLS/웹 응용 프로그램의 경우 3.5가 제공하는 것을 활용하고 싶습니다.

솔루션에서 .NET 프레임 워크 (어셈블리 당)를 혼합 할 수 있습니까? 이것에 대한 IIS 관련 경고가 있습니까?

긍정적/부정적인/Howto 피드백을 듣고 싶습니다. 알려줘요!

감사!

도움이 되었습니까?

해결책

예, 당신은 Visual Studio에서 이것을 할 수 있으며 그것을 불립니다. 멀티 표적.

Scott Guthrie는 훌륭한 블로그 엔트리를 가지고 있습니다 Visual Studio의 다중 표적 지원.

VS 2008은 .NET에 대한 멀티 표적 지원을 포함하는 Visual Studio의 첫 번째 릴리스였습니다. 이는 2008 년 vs 2008을 사용하여 .NET 3.5 프로젝트뿐만 아니라 .NET 3.0 및 .NET 2.0 프로젝트를 만들고 편집 할 수 있다는 것입니다. 이를 통해 개발자는 새로운 Visual Studio Tooling 기능을보다 신속하게 업그레이드하고 활용할 수있었습니다. 클라이언트 및 프로덕션 서버에 응용 프로그램을 실행하는 최신 버전의 .NET을 반드시 설치할 필요없이 새로운 Visual Studio Tooling 기능을 활용할 수있었습니다.

건배

다른 팁

다음에 따라 2.0, 3.0 및 3.5를 함께 사용할 수 있습니다.http://msdn.microsoft.com/en-us/library/bb383796(v=vs.90).aspx

편집 : 나는 당신이 할 수있는 것이 틀렸다. CLR이 동일하기 때문에 2.0의 어셈블리+ 어셈블리를 참조 할 수 있습니다. CLR의 새 버전이 있기 때문에 2.0/3에서 4.0으로 갈 때는 그렇지 않습니다.

http://abdullin.com/how-to-us-net-35-syntax-and-compiler-features-for-net-20/

새로운 .NET 4.0 프레임 워크를 기다릴 수 있다면 동일한 프로세스에서 각 버전에 대해 나란히 DLL을 실행할 수 있습니다.

이것은 문제가되어서는 안됩니다. .NET 2.0 RTM을 통해 .NET 3.5 SP2는 모두 동일한 버전의 CLR을 사용합니다. 그들은 포함 된 어셈블리의 수에 의해서만 다릅니다. 어셈블리 형식은 동일합니다. 물론 .NET 3.5에만 포함 된 어셈블리를 활용하는 경우 3.5가 실제로 대상 시스템에 설치되어 있는지 확인해야합니다. 그렇지 않으면 빨리 알게 될 것입니다.

Windows 업데이트가 활성화 된 경우 3.5는 이미 컴퓨터에 있어야합니다. 그렇지 않다면, 그것을 거기에 가져가는 데 12 분 정도 걸립니다.

참고로, 우리는 2.0에서 사용했지만 다시 컴파일하지 않고 3.5에서 사용하는 오래된 1.0 라이브러리가 있습니다. 따라서 뒤로 호환성이 있습니다.

.NET 2.0+ 어셈블리와 동일한 프로세스에서 .NET 1.1 AssMeblies를 실행할 수 없습니다. 그렇게 시도하면 실패가 발생합니다.

IIS와 관련하여 .NET 1.1 사이트 / 가상 디렉토리가 .NET 2.0 이상과 동일한 응용 프로그램 풀에서 실행될 수 없음을 의미합니다. .NET 1.1 코드를 다른 과정. (이것은 IIS 6.0 이상에서만 수행 할 수 있습니다. 즉, Windows XP는 아닙니다)

그러나 Nobugz가 말한 것처럼 .NET 2.0 To To .NET 3.5는 모두 동일한 CLR을 사용하므로 걱정없이 동일한 어셈블리에서 다른 버전의 .NET 코드를 혼합 할 수 있습니다. 이는 IIS (.NET 2.0 및 .NET에도 적용됩니다. 3.5 코드는 동일한 앱 풀에서 행복하게 공존 할 수 있습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top