I have a program that make use of unmanaged C++ code, and I want to write Unit Tests (well, more like system tests) for it.
I want to run the entire program from the Unit Test in a different AppDomain, so I'll be able to more easily inject tester code.
Problem is, when I try to run it, I get this error:
The C++ module failed to load while attempting to initialize the default appdomain
(source: my own code)
Inner Exception:
Strong name validation failed. (Exception from HRESULT: 0x8013141A)
(source: msvcm90)
I use the MSTest as testing environment.
I already tried altering some app.config files, but maybe the wrong ones. I also tried using the AppDomainSetup object, but I don't know what to configure there to prevent it from performing strong name check.
I'm launching the app from the unit test using AppDomain.ExecuteAssembly.
Edit
The latest thing I've tried is to use appDomain.CreateInstanceAndUnwrap to load a proxy class I made, that also implements MarshalByRefObject. The proxy class loads fine, but in it I try to call the function which starts the initialization and runs the actual code I want to test, and the above error still occur.
I've tried using fuslogvw.exe but I don't get anything from it. I guess it is because what fails is loading of an unmanaged DLL.
User contributions licensed under CC BY-SA 3.0