NCover upgrade

Hi.

In my MSBuild runner I used the NCover option. I had NCover trial version 32 bit, and the builds where working fine.

I've upgraded NCover to classic version, 64 bit. In my build configuration everithing (MSBuild, NUnit & NCover) are configured to x64 version.

When I add NCover to the build configuration, the build fails - I get the error:

JetBrains.BuildServer.NUnitLauncher.exe "@@" C:\TeamCity\buildAgent\temp\buildTmp\tmp7735.tmp exited with code 20000

I made some research & realized it is a build configuration issue. But everithing is configured to work as x64 configuration!

After reading some build agent logs, I saw that the agent is still running the x86 version of NCover (even thaw I configured its path to %system.ncover.v3.x64.path%).

I tried restart the team city services, tried to reset the cache, but it didn't help.

How can I run the new version of NCover?

BTW,

I am running on windows server 2008 64 bit.

Thanks,

Sagie

17 comments

Please try writing path to NCover x64 explicitly. Will it work?

0

Forgot to write it in the first post, but I already tried it.
Didn't help...

0

Okay, after a second look on the agent build log files,

I saw that when I run the NCover 64 bit version (from c:\Program files\NCover), the agent write in the following NCover message:

NCover  v3.4.12.6869 x86 (Administrator)

When I run it from c:\Program Files (x86)\NCover, I get the following NCover message:

NCover Classic v3.4.12.6869 x86 (Administrator)

Looks like Teamcity is still running the trial version.

When I activate c:\Program Files\NCover\NCover.Console.exe manualy, I can see that this is the classic version, not the trial.

What can cause teamcity run a different version?

0

Please try putting a full path to NCover 3 in the 'Path to NCover 3' field. Will it start proper NCover?

Attach build agent system properties. I want to check values of 'ncover.v3.x86.path' and 'ncover.v3.x64.path'.

0

Please install both NCover x86 and NCover x64

0

When I install both of the versions,

The build agent uses the x86 classic version, even thow I am configuring to run platform = x64, and specifing NCover full path (c:\Program Files\NCover)

0

Please attach build log and a screenshot of UI settings with all editiors expanded.

What are the values of 'ncover.v3.x86.path', 'ncover.v3.x64.path' build agent system properties?

Please set 'teamcity.agent.dotnet.debug' environment variable to 'true' in '6. Properties and Environment Variables' section of build configuration settings before gathering build log.
After the build there will be created 'TeamCity.NET' folder in build agent's temp folder, please attach it's content too.

0

I've attached the screen shot of the configuration's MSBuild section.

I've also located the TeamCity.NET folder under <build agent temp dir>\buildTmp, but it is empty



Attachment(s):
ScreenShots.zip
0

Please try setting x64 instead of MSIL in NUnit runner settings.
Open <build agent>/plugins/dotNetPlugin/bin and replace teamcity-log4net.xml with teamcity-log4net-debug.xml.
Run the build and check TeamCity.NET folder once more.

Do you have NCover.Data.x64.dll and NCover.Lib.x64.dll under "C:\Program Files\NCover" ?

0

Changed MSIL settings to x64, still failure in the build.

Yes, I can find NCover.Data.x64.dll and NCover.Lib.x64.dll under "C:\Program Files\NCover".

I've attached the TeamCity.NET logs



Attachment(s):
TeamCity.NET.zip
0

Please try pathing project file on disk.
Open <TeamCity data directory>/config/<project name>/project-config.xml
Create backup of this file.
find <build-type> element with id of yout build configuration.
swap values of 'dotNetCoverage.platformVersion' and 'dotNetCoverage.platformType' parameters.
Values are stored in <param> element under <run-parameters> element under <build-type>.

You do not need to start/stop build server. TeamCity will detect the change automatically. Note, you should not open build configuration parameter setting from the web UI afterwards.
Try running the build with patched parameters. Will it start x64 NCover? Please attach files from TeamCity.NET folder.

0

Great!

The build passed now, but I can't see the code coverage report. in the code coverage tab I have the message:

This is an autogenerated index file (there was no index.html found in the generated report).
In addition, the number of covered classes & methods is 0.
If I open the build configuration in the web UI, It will re-swap 'dotNetCoverage.platformVersion' and 'dotNetCoverage.platformType' parameters.


Attachment(s):
TeamCity.NET.zip
0

Yes. It will reswap parameters back. I'll added the fix to 5.1.x and 6.x branches. It will be available in 5.1.4. Let me know if you need patch faster. Please check NCover reporter arguments if you see no build log. TeamCity generates index.html file that enumerates all .html files in the folder if there was no index.html file found in the report generation folder.

0

I'll appreciate a patch, since I have multiple configuration to make changes in.

About the reporting issue, If I use the Summary option, instead of FullCoverageReport, I'll have the coverage summary.

With 'FullCoverageReport' the build log reports the following message:

The 'FullCoverageReport' cannot be created with the current NCover license.

Guessing it is not your issue now :-)

0

TeamCity starts NCoverExplorer.Console.exe to generate the report. Please check NCoverExplorer.Console.exe parameters in NCover documentation at http://docs.ncover.com/ref/2-0/ncoverexplorer-console/ncoverexplorer-console-flag-summary

Please vote for http://youtrack.jetbrains.net/issue/TW-13134. I'll add the patch to the issue.

0

Thanks,

But this reffers to NCover v2.0, I am using version 3.0. Those parameters are not supported

0

Sorry, it was the wrong URL I attached.

I've created a patch for you in the issue.

0

Please sign in to leave a comment.