2010-04-13 2 views
11

.NET 3.5로 작성된 여러 프로젝트와 프로젝트를 다루는 일부 단위 테스트 프로젝트가 있습니다. Visual Studio 2010에서 사용할 솔루션을 변환 할 때 모든 프로젝트를 3.5로 유지하지만 단위 테스트는 4.0으로 강제 설정됩니까? 이렇게하면 정규 프로젝트에서 사용할 수 없습니다.Visual Studio 2010은 4.0 단위 테스트 만 실행합니까?

결과 : 파일 또는 어셈블리 'xxx.xxx.Core.UnitTest'또는 해당 종속성 중 하나를로드 할 수 없습니다. 이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 작성되며로드 할 수 없습니다.

그래서 어떤 프로젝트도 4.0 이하로 테스트 할 수 없습니까? 아니면 여기서 뭔가 잘못하고있는 걸까요?

답변

8

현재 슬픈 대답은 예입니다. VS2010 (.NET 4.0)으로 만든 테스트 만 지원됩니다.

명백하게이 목적을 달성 한 - 자세한 내용은 "bug" report at Microsoft connect을보십시오.

업데이트 마이크로 소프트의 그들이 .NET 3.5 단위 테스트를 추가 한 그들의 방법의 오류를 본 후
은 VS2010의 SP1에서 지원 - 전체 세부 in this post를 찾을 수 있습니다.

또한 다시 대상이 기존의 수 .NET 4.0 단위 테스트 - How to re-target unit-tests to .Net Framework 3.5 in VS 2010 SP1

+1

사실이라면 그것은 끔찍합니다. 그러나 MSTest와 관련하여 이렇게 중요한 것은별로 중요하지 않습니다. – Finglas

+0

@Finglas 불행히도 이것은 Gallio (MbUnit)가 프로젝트 테스트를 보여주기위한 지원을 중단합니다. 이러한 창은 [MS] Test 프로젝트에만 표시됩니다. –

3

테스트 프로젝트는 비주얼 스튜디오 2010 테스트 프로젝트로 변환 및 .NET 4.0 프레임 워크를 대상으로 당신이 참조 다행히 모든 어셈블리를 컴파일다면 및 테스트에서 여전히 .NET 3.5 (또는 무엇이든) 어셈블리가 될 수 있습니다. 다른 것은 재앙이 될 것입니다. 하지만 그렇다고해서 더 이상 Visual Studio 2008을 사용하여 해당 테스트 프로젝트를 실행할 수 없습니다.

물론 테스트의 소스 코드를 유지하면서 VS2008 용 테스트 프로젝트와 동일한 테스트 소스 코드를 사용하는 VS2010 용 테스트 프로젝트 두 가지를 사용할 수 있습니다. 번거롭긴하지만 실용적인 솔루션입니다.

관련 문제