NCover на 64 бита - исправление CorFlags - corflags: ошибка CF008: указанный файл не имеет допустимого управляемого заголовка - PullRequest
0 голосов
/ 20 мая 2009

Я пытаюсь применить исправление, чтобы позволить NCover v1.5.5 запускаться на Windows Server 2008 X64 через мой сервер непрерывной интеграции TeamCity, как описано в этом блоге:

http://abdullin.com/journal/2008/6/6/how-to-run-free-ncover-on-a-64-bit-machine.html

Вот мой журнал:

[09:47:04]: run-unit-tests:
[09:47:04]: [echo] Running NCover: tools\ncover\NCover.Console.exe with workingdir='build\Debug\UnitTests'
[09:47:04]: [exec] NCover.Console v1.5.5 - Code Coverage Analysis for .NET - http://ncover.org
[09:47:04]: [exec] Copyright (c) 2004-2005 Peter Waldschmidt
[09:47:04]: [exec]
[09:47:04]: [exec]
[09:47:04]: [exec] Command: ..\..\..\tools\nunit\nunit-console.exe
[09:47:04]: [exec] Command Args: "UnitTests.dll" "/xml:..\..\test-reports\UnitTests.xml" "/nologo"
[09:47:04]: [exec] Working Directory: .
[09:47:04]: [exec] Assemblies:
[09:47:04]: [exec] Coverage Xml: D:\TeamCity\buildAgent\work\a65ff8d0771db303\build\test-reports\Coverage.xml
[09:47:04]: [exec] Coverage Log: Coverage.Log
[09:47:04]: [exec]
[09:47:07]: [exec] Waiting for profiled application to connect.......N.N.N.N..N.......
[09:47:07]: [exec] Tests run: 11, Failures: 0, Not run: 5, Time: 1.096 seconds
[09:47:07]: [exec]

[09:47:07]: [exec]
[09:48:04]: [exec] Connected
[09:48:04]: [exec] **Profiled process terminated. Profiler connection not established.**
[09:48:04]: BUILD FAILED

Итак, я пытаюсь применить трюк CorFlags, чтобы он заработал, но я получаю сообщение об ошибке:

C: \ Program Files (x86) \ Microsoft.NET \ SDK \ v2.0 \ Bin> CorFlags.exe D: \ TeamCity \ build Агент \ work \ a65ff8d0771db303 \ tools \ NCover \ NCover.exe / 32BIT +

Инструмент преобразования CorFlags для Microsoft (R) .NET Framework. Версия 2.0.50727.42 Авторские права (c) Корпорация Microsoft. Все права защищены.

corflags: ошибка CF008: указанный файл не имеет действительного управляемого заголовка

Есть идеи? Помогите!

1 Ответ

2 голосов
/ 20 мая 2009

Я на самом деле решил эту проблему, обновив до новой версии NUnit и изменив задачу NCover так, чтобы она указала на версию X86:

    <exec program="tools\ncover\NCover.Console.exe" workingdir="${build.dir}\Debug\UnitTests">
        <arg value="//w &quot;.&quot;" />
        <arg value="//x &quot;..\..\test-reports\Coverage.xml&quot;" />
        <arg value="&quot;..\..\..\lib\NUnit-2.4.8-net-2.0\bin\nunit-console-x86.exe&quot;" />
        <arg value="&quot;UnitTests.dll&quot; &quot;/xml:..\..\test-reports\UnitTests.xml&quot; &quot;/nologo&quot;" />
    </exec>
...