May I ask you to send me the binaries since you already got them? I do not have msvc in place to compile this (at least the same way as you did which might be important).

On Fri, 22 Jan 2016 at 01:33, Vincent Povirk <madewokherd@gmail.com> wrote:
I took a different approach to testing this, and it doesn't seem to be
working quite right.

Instead of building x64 class dll's, I hacked something together based
on wine-staging's related patches, mono's implementation of
_CorValidateImage, and disabling a check in wineserver. I'm attaching
a diff of that.

Instead of working around managed c++ issues, I looked for a way to
use dll fixups more directly from a C# library:
https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports

So I have a C# dll that exports an "add" function, like the example,
and a win32 console exe that calls it via LoadLibrary/GetProcAddress.
On Windows, I can call it multiple times and then exit with no
problems. In Wine with your patch, everything works except that the
result is incorrect the first time add() is called. I suspect
ReallyFixupVTable is changing some registers, and the thunk will have
to preserve them.

Thanks for working on this, by the way. Seeing this *almost* work even
for a simple test case is very cool. :)