Errore degli strumenti del linker LNK1306
La funzione del punto di ingresso dll non può essere gestita; compilare in modalità nativa
DllMain
non può essere compilato in MSIL; deve essere compilato in modalità nativa.
Per risolvere il problema,
Compilare il file contenente il punto di ingresso senza /clr.
Inserire il punto di ingresso in una
#pragma unmanaged
sezione.
Per altre informazioni, vedi:
Esempio
L'esempio seguente genera LNK1306.
// LNK1306.cpp
// compile with: /clr /link /dll /entry:NewDllMain
// LNK1306 error expected
#include <windows.h>
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
Per risolvere questo problema, non usare l'opzione /clr per compilare questo file o usare una #pragma
direttiva per inserire la definizione del punto di ingresso in una sezione non gestita, come illustrato in questo esempio:
// LNK1306fix.cpp
// compile with: /clr /link /dll /entry:NewDllMain
#include <windows.h>
#pragma managed(push, off)
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
#pragma managed(pop)