I have a unit test project using shared MFC dll compiled with /clr. This test is instancing a class "Foo" from a static library (also using shared MFC and /clr) and then calling a method "virtual void test(Class^1 c1)" on that instance. Class1 is a .Net class from a project in the same solution as the unit test.
The problem I get is the test crashes almost immediately, when it tries to load the .Net assembly containing Class1 it seems. It throws a "EEFileLoadException at memory location 0x1e158244" exception. What is strange though is if I change the method to "void test(Class^1 c1)" (remove the virtual that is), the test works. Also, if i leave the virtual and instead change to "virtual void test(gcroot<Class^1> c1)" the test also works.
Does anyone have a clue on this? I can upload a complete VS2010 solution with minimal code somewhere if necessary.
Regards,
Tobias Olofsson