Aviso do compilador (nível 1, Erro) C4394

'function': o símbolo per-appdomain não deve ser marcado com __declspec(dllexport)

Uma função marcada com o modificador appdomain__declspec é compilada para MSIL (não nativo) e as tabelas de exportação (modificador export__declspec) não têm suporte para funções gerenciadas.

Você pode declarar uma função gerenciada para ter acessibilidade pública. Para obter mais informações, confira Visibilidade do tipo e Visibilidade do membro.

C4394 sempre é emitido como um erro. Você pode desativar esse aviso ou alterar seu nível com #pragma warning ou /wd. Para obter mais informações, consulte advertência ou /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Nível de Aviso).

Exemplo

A amostra a seguir gera C4394.

// C4394.cpp
// compile with: /clr /c
__declspec(dllexport) __declspec(appdomain) int g1 = 0;   // C4394
__declspec(dllexport) int g2 = 0;   // OK