NUnit이 Visual Studio 2010 코드를 실행하지 않습니다.


98

Visual Studio 2010 베타 dll을 NUnit GUI에로드하려고합니다. 팝업 오류가 발생합니다.

이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 빌드되며로드 할 수 없습니다. NUnit이 현재 실행중인 버전보다 최신 버전의 CLR을 사용하여 어셈블리 빌드를로드하려고 할 수 있습니다.

실행 파일을 .NET 4에서 실행하려면 어떻게해야합니까?


이 질문은 실제로 VS 2010 또는 .NET 4 코드와 관련이 있습니까? -Visual Studio 2010에서 NUNIT 테스트를 실행할 수있는 도구를 찾고 있는데이 질문은 잘못된 것입니다.
Nicolas Irisarri

@Nicolas-.NET 4.0을 참조합니다.
Daniel A. White

답변:


132

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" />

3
좋아, 구성 업데이트로 작동하지만 requiredRuntime 태그에 version = "v4.0.21006"을 사용해야했습니다.
mkmurray 2009

4
BTW, 구성 파일의 기본 위치는 다음과 같습니다. C : \ Program Files \ NUnit 2.5.3 \ bin \ net-2.0 \ nunit.exe.config 구성에 이러한 옵션을 추가하면 저에게 효과적이었습니다.
Brad Irby

2
최신 Nunit + .net4 RTM에서 작동하지 못했습니다. nunit-console.exe.config에 제안 된 항목을 추가했지만 다음과 같은 결과가 나타납니다. System.ArgumentException : net-4.0 프레임 워크를 사용할 수 없습니다. 위 버전으로 시도 함 + v4.0.30319 2008 R2 x64를 실행 중입니다
Andreas Öhlund

1
콘솔 실행기의 경우 언급 한대로 구성을 변경하지만 .NET 4.0의 RTM 버전에는 v4.0.30319를 사용합니다. 또한 다음 명령 줄 인수를 사용하여 실행하십시오. /framework=4.0.30319
Lance Fisher

1
구성을 변경하는 대신 명령 줄 옵션 /framework:net-4.0.30319를 사용하여 운이 좋았습니다. 이것은 4.0 CLR을 사용하는 애플리케이션과 그렇지 않은 애플리케이션을 제어 할 수 있도록 도움이되었습니다.
Kevin Crowell

25

.NET 4가 출시되면서

<supportedRuntime version="v4.0.30319" />

requiredRuntime 대신 NUnit 2.5.4 exe.config에서 위와 같이 loadFromRemoteResources 태그가 모두 잘 작동했습니다. 감사!


17

파일을 수정할 필요가 없습니다.

이 파일을 열면 모든 것이 잘 작동합니다.

C : \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe


감사합니다-제 사건을 해결했습니다. x86으로 컴파일 된 단위 테스트를 위해 x86 버전의 nunit을 사용해야합니다. CLR 버전 경고는 붉은 청어였습니다. nunit 2.5.10 사용.
Nigel Touch

여기서도
마찬가지입니다.

12

NUnit 2.5.5 에서는 명령 줄에서 /framework=net-4.0 옵션을 지정할 수 있으며 최신 VS2010 릴리스로 생성 된 새 어셈블리와 호환됩니다.


3
나는 이것을 작동시킬 수 없었습니다. 나는 사람들이 /framework:net-4.0.30319 및 모든 종류의 다른 변형을 사용하는 것을 보았습니다. 사이트 문서에 실제 옵션을 포함하면 좋을 것입니다.
Jason Short

2
@Jason 이것은 콘솔 버전에서만 작동하는 것으로 보입니다. GUI 버전에는이 옵션이 없습니다.
Roman Starkov

버전 2.5.5부터 작동한다고 언급 한 +1! 내 컴퓨터 중 하나에서 ArgumentExceptions 및 NullReferenceExceptions를 던지는 NUnit이 있었고 버전 2.5.0 때문인 것으로 나타났습니다.
realMarkusSchmidt

2

제안 된 솔루션은 NUnit을 실행하는 데 매우 효과적이었습니다. 불행히도 코드 적용 단계에 도달했을 때 NCover는 다음을 제공하기 시작했습니다.

프로파일 링 된 프로세스가 종료되었습니다. 프로파일 러 연결이 설정되지 않았습니다.

내가 찾은 최고의 해결책은 NCover와 함께 NUnit의 "-x86"버전을 사용하는 것입니다.

NCover.Console.exe nunit-console-x86.exe-추가 매개 변수-

지금 작동합니다.


1
감사합니다. 동일한 문제가 발생했습니다. 수정하여 해결했습니다.
CubanX

2

Visual [C # 2010 Express 또는 어느 것이 든]에서 .net 4 버전을 찾으려면 메뉴의 도움말 항목 아래에있는 Visual 응용 프로그램의 "정보"로 이동하십시오. 창 오른쪽 상단의 Microsoft .NET Framework 행 아래에 버전으로 표시되어야합니다.


1

NUnit 2.4.8을 실행하는 동안 동일한 오류 메시지가 나타납니다. 한동안 업그레이드하지 않았기 때문에 현재 NUnit (v2.5.9)을 설치했고 이제 VS2010 어셈블리를 지원한다는 것을 알았습니다. 따라서이 오류가 새로 발생하면 NUnit 버전을 확인하십시오 . 2010 년 12 월 (또는 그 이상)에서 해야 할 일은 NUnit을 업그레이드하는 것 뿐입니다 .


저는 2011 년 3 월 15 일에 다운로드 된 NUnit 2.5.9를 실행 중이며이 문제는 저에게 사라지지 않을 것입니다. 제안 된 솔루션을 시도해도
DrLazer 2011 년

1

NUnit 2.5.10부터 GUI 실행기에서 Visual Studio 지원을 활성화 할 수 있습니다.

도구-> 설정-> IDE 지원

그 후 .NET 4.0 앱 도메인에서 어셈블리를 실행하는 nunit-agent.exe 프로세스에 성공적으로 연결할 수있었습니다.


0

nunit 2.5.5로 업그레이드 한 후이 문제가 발생하면 nant를 최신 버전 인 .91 alpha로 업그레이드해야합니다.


0

NUnit Application Template 에서 시작하는 것이 유용 하다는 것을 알았습니다 . VS C # Express를 지원하고 디버깅 테스트를 허용하며 .NET 4.0 용으로 미리 컴파일 된 NUnit을 포함합니다. 한 번의 클릭으로 새로운 테스트 프로젝트를 작성해 주셔서 감사합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.