Get PartCover Running On x64 Windows

PartCover is an open source coverage tool. Unfortunately, the current release does not run on a 64bit OS out of the box. The reason is that PartCover uses a 32bit COM component to determine coverage and that a 64bit process cannot load a 32bit COM component.The solution is to force that PartCover is run as a 32bit process. There are two ways to get that done:

  1. Get the source code, set the target platform of the PartCover project to x86 and build it
  2. Use corflags.exe on the already compiled assemblies to force that they are run in 32bit mode

corflags.exe

Normally, corflags.exe is used to determine whether an assembly is built for x86 (32bit), x64 (64 bit) or it is unspecified (depends on OS – this is the default).

corflags.exe can however be used to change this setting on compiled assemblies. In order to get PartCover and its Browser running on a x64 system do the following:

Install PartCover.

If you are running Windows 7 then copy all PartCover files to another location (due to security restrictions inside program files).

Run the following commands on the command line:

corflags /32bit+ /force PartCover.exe
corflags /32bit+ /force PartCover.Browser.exe

Then, you can run the browser or command line tool and start using coverage on your x64 system.

About the author

Urs Enzler

2 comments

  • Hello Geeks

    Thanks for your adivce Urs, but there are some things missing 😉

    It’s essential that you use nunit-console-x86.exe if you’re using nunit. Or a specific x86 compiled version of your unit testing framework of choice.

    Otherwise PartCover won’t build a correct report in any case.

    If you’re using PartCover as we do in our project:
    – “Distributing” PartCover and the other tools with SVN
    – registering the CorDriver dll dynamically with task of nant
    You need to remember the following:
    – Run the command line as Administrator
    – The corflags are only set for your machine, so you cannot commit a 32bit patched PartCover to your repository. So every developer needs to set the corflags

  • Thanks Urs and Philipp! Your tips have helped me to get my NUnit tests running with code coverage on Windows 7 Professional 64 bit.

By Urs Enzler

Recent Posts