No doubt that ReSharper’s test runner (for running unittests) clearly outranks the test runner in Visual Studio 2010. So to my big disappointment I was not able to make projects targeted for 64-bit (actually a project using a 64-bit assembly) work together with ReSharpers test runner (using ReSharper 6.1).
Searching the web didn’t give me any solutions. I found a post, where Jetbrains stated it had been fixed, though I couldn’t get it to work.
The problem is very simple. I had an assembly (AnyCPU) that referenced another assembly (64-bit). When running the unittest it just failed with a: BadImageFormatException when loading the 64-bit assembly. This clearly indicates, that the test runner loads as 32-bit instead of 64-bit.
So my little hack is a low-level hack and not very elegant:
- Open the Windows Explorer and go to your Resharper installation folder (e.g C:\Program Files (x86)\JetBrains\ReSharper\v6.1\Bin
- Locate the file: JetBrains.ReSharper.TaskRunner.CLR4.exe and make a copy of it
- Locate the file: JetBrains.ReSharper.TaskRunner.CLR4.x64.exe and make a copy of it
- Then rename the file: JetBrains.ReSharper.TaskRunner.CLR4.x64.exe to JetBrains.ReSharper.TaskRunner.CLR4.exe
That’s it …