tags:

views:

7213

answers:

3

I am building an app that talks to an Access database via OleDB/Jet. There is only a 32-bit Jet provider, no 64-bit provider, so the app needs to be running in 32-bit mode. My dev box is Vista 64, so I set the project to build for x86 instead of any cpu. That gets my app running and talking to the database.

But now I want to run some unit tests with Gallio Icarus, which is built for any cpu and is strongly signed (meaning using CorFlags.exe (in the SDK) to force-switch to 32-bit only will cause the assembly not to run until it's been re-signed).

Is there some way to run Gallio Icarus in 32-bit mode so I can load these unit tests?

+1  A: 

You need to build your program specifically targeting the x86 processor.

Project properties -> Build -> Platform target: x86

Franci Penov
Done that. But the testrunner is running in 64-bit, which seems ultimately to be causing OleDB to look for a 64-bit Jet driver.
Justice
Umh, sorry, can't help you much with Gallio Icarus. Have you tried generating x86 native images for it using ngen.exe?
Franci Penov
A: 

Isn't Gallio open source? You could download and build (and sign if necessary) to suit your needs, or am I missing something, should I get my coat?

http://www.gallio.org/Development.aspxlink text

Kev
+2  A: 

Turns out the trick was using CorFlags.exe to mark Gallio.Host.exe as 32bit only.

Justice