I'm calling a win32 unmanaged dll written in delphi from C# using DllImport attribute. After switching to 1.40b, tests with such call fail with "NCrunch was unable to retrieve a meaningful result from this test due to an unexpected error - was the execution process terminated?"
I have prepared a small sample project, where you can observe this behavior. Directory structure is important for me (it's similar to my workspace - all binaries are placed in one bin folder). This works under 1.39b, nunit/testdriven.net but not with 1.40b. I've checked this on other machines, same result.
Now I have few hundred tests affected by this problem, is there some workaround other than switching back to 1.39b?
PS. I don't see any option to attach zip file to post, how can I pass you this example?
[EDIT]
PS2. You can download example from: http://msz.instalsoft.com/ncrunch140bcallingDllExample.zip
Thanks for reporting this problem. It looks like this is a marshalling problem of some kind that only surfaces in the new hosted task runner introduced with 1.40b.
You can work around this problem by turning off the 'Use hosted task runner' option in your global NCrunch configuration.
I'll make a note to look deeper into the problem to see if I can introduce a proper fix in the next version of NCrunch.
Are there any news in this topic? I'm asking about this, because of the info text in configuration pane, saying that "unhosted task runners will be removed in future versions of NCrunch"
It's becoming increasingly unlikely that this configuration option will ever be removed. None of the new features that were expecting to make use of the .NET hosting API have ever turned out to be stable - it seems the API has a number of quirks that are difficult to pin down. I'll change the documentation to reflect this.