Visual Studio 2010 베타 dll을 NUnit GUI에로드하려고합니다. 팝업 오류가 발생합니다.
이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 빌드되며로드 할 수 없습니다. NUnit이 현재 실행중인 버전보다 최신 버전의 CLR을 사용하여 어셈블리 빌드를로드하려고 할 수 있습니다.
실행 파일을 .NET 4에서 실행하려면 어떻게해야합니까?
Visual Studio 2010 베타 dll을 NUnit GUI에로드하려고합니다. 팝업 오류가 발생합니다.
이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 빌드되며로드 할 수 없습니다. NUnit이 현재 실행중인 버전보다 최신 버전의 CLR을 사용하여 어셈블리 빌드를로드하려고 할 수 있습니다.
실행 파일을 .NET 4에서 실행하려면 어떻게해야합니까?
답변:
NUnit 2.5 소스를 다운로드하고 VS2010 베타에서 VS2008 솔루션을 열었습니다. 변환이 완료되면 모든 프로젝트를 열고 모든 프로젝트의 대상 프레임 워크 설정을 ".NET Framework 4.0"으로 변경했습니다. 그런 다음 오류없이 솔루션을 구축했습니다. 이제 NUnit GUI 앱을 사용하여 .NET 4.0 용으로 빌드 된 테스트를 실행할 수 있습니다. 이 빌드에 대한 철저한 테스트를 수행하지 않았으므로 문제가있을 수 있지만 내 목적에는 제대로 작동합니다.
업데이트 : NUnit을 다시 빌드 할 필요가 없습니다. 관련 NUnit 구성 파일에 다음을 추가하면 .NET 4.0 용으로 빌드 된 테스트 dll을 실행할 수 있음을 발견했습니다.
<configuration>에서 다음을 추가하십시오.
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
그리고 <runtime> 아래에 다음을 추가하십시오.
<loadFromRemoteSources enabled="true" />
파일을 수정할 필요가 없습니다.
이 파일을 열면 모든 것이 잘 작동합니다.
C : \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe
NUnit 2.5.5 에서는 명령 줄에서 /framework=net-4.0 옵션을 지정할 수 있으며 최신 VS2010 릴리스로 생성 된 새 어셈블리와 호환됩니다.
제안 된 솔루션은 NUnit을 실행하는 데 매우 효과적이었습니다. 불행히도 코드 적용 단계에 도달했을 때 NCover는 다음을 제공하기 시작했습니다.
프로파일 링 된 프로세스가 종료되었습니다. 프로파일 러 연결이 설정되지 않았습니다.
내가 찾은 최고의 해결책은 NCover와 함께 NUnit의 "-x86"버전을 사용하는 것입니다.
NCover.Console.exe nunit-console-x86.exe-추가 매개 변수-
지금 작동합니다.
NUnit 2.4.8을 실행하는 동안 동일한 오류 메시지가 나타납니다. 한동안 업그레이드하지 않았기 때문에 현재 NUnit (v2.5.9)을 설치했고 이제 VS2010 어셈블리를 지원한다는 것을 알았습니다. 따라서이 오류가 새로 발생하면 NUnit 버전을 확인하십시오 . 2010 년 12 월 (또는 그 이상)에서 해야 할 일은 NUnit을 업그레이드하는 것 뿐입니다 .