We recommend using Visual Studio 2017

Application Domains and Visual C++


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Application Domains and Visual C++.

If you have a __clrcall virtual function, the vtable will be per application domain (appdomain). If you create an object in one appdomain, you can only call the virtual function from within that appdomain. All functions defined in /clr:pure compilands use the __clrcall calling convention. Therefore, all vtables defined in /clr:pure compilands are per appdomain. In mixed mode (/clr) you will have per process vtables if your type has no __clrcall virtual functions.

For more information, see

Mixed (Native and Managed) Assemblies