defを使うのをやめて、
extern "C" {

__declspec(dllexport) int __stdcall MyFunc(){

}
}
としました。dumpbinで確認したところ以下のようになりました。

1 0 000110A0 _MyFunc@0 = @ILT+155(_MyMbox2@0)
C#側 [DllImport("Mydll",EntryPoint="MyFunc")]
public static extern int MyFunc();として呼び出すと無事成功しました。しかし、エントリポイントを
書かないとうまくいきません。これはなぜですか?