System.EntryPointNotFoundException

開始メソッドが指定されていないことが原因でクラスの読み込みに失敗した場合にスローされる例外。

[実験ソース(C#)]


using System;

using System.Runtime.InteropServices;

namespace ConsoleApplication1

{

    class Program

    {

        [DllImport(@"..\..\..\ClassLibrary1\bin\Release\ClassLibrary1.dll")]

        extern static void PrintHello();



        static void Main(string[] args)

        {

            PrintHello();

        }

    }

}

[結果]


ハンドルされていない例外: System.EntryPointNotFoundException: DLL '..\..\..\ClassLibrary1\bin\Release\ClassLibrary1.dll' の 'PrintHello' というエントリ ポイントが見つかりません。
場所 ConsoleApplication1.Program.PrintHello()
場所 ConsoleApplication1.Program.Main(String[] args) 場所 Program.cs:行 12

[対処など]
BadImageFormatExceptionの例 にもあるように、Assembly.LoadFile で読み込むと良い。
あるいは、[参照の追加] で DLL を追加してやるとより簡単。