https://bugs.winehq.org/show_bug.cgi?id=37751
--- Comment #18 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Vincent Povirk from comment #15)
We're returning the correct _AppDomain interface, which calls methods on the correct AppDomain object, but AppDomain.Current is the root domain during that call. The COM wrapper should presumably switch the AppDomain, or call a remoting wrapper.
It seems like this doesn't happen. I tried inserting a remoting-invoke-with-check wrapper in the cominterop wrapper, but that didn't change anything. I think fixing this is beyond me for now.
This bit is implemented now, https://github.com/mono/mono/commit/d74e863de3a2a25e20661bfe855b739aca6d868b . It's available in wine-mono 4.9.4.