The document is archived and information here might be outdated
Compiler Warning C4394
Visual Studio 2005
Error Message'function' : per-appdomain symbol should not be marked with __declspec(dllexport)
A function marked with the__declspec modifier is compiled to MSIL (not to native), and export tables ( __declspec modifier) are not supported for managed functions.
You can declare a managed function to have public accessibility, seefor more information.
C4394 is always issued as an error. You can turn off this warning with the #pragma warning or /wd; seeor for more information.
The following sample generates C4394.
// C4394.cpp // compile with: /clr /c __declspec(dllexport) __declspec(appdomain) int g1 = 0; // C4394 __declspec(dllexport) int g2 = 0; // OK