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