Próbuję powiązać proste dll C++ przedstawione w http://msdn.microsoft.com/en-us/library/ms235636.aspx w mojej aplikacji konsoli C#, ale dostaję EntryPointNotFoundException dla Add wewnątrz dll w czasie wykonywania. Moja klasa testu to:EntryPointNotFoundException podczas wiązania biblioteki DLL języka C++ w C#
namespace BindingCppDllExample
{
public class BindingDllClass
{
[DllImport("MathFuncsDll.dll")]
public static extern double Add(double a, double b);
}
public class Program
{
public static void Main(string[] args)
{
double a = 2.3;
double b = 3.8;
double c = BindingDllClass.Add(a, b);
Console.WriteLine(string.Format("{0} + {1} = {2}", a, b, c));
}
}
}
Co nie jest poprawne?
możliwe duplikat: http://stackoverflow.com/questions/5877349/pinvoke-and-entrypointnotfoundexception – Star
jadę do odgadnięcia, że CallingConvention nie pasuje. Zakładam również, że MathFuncsDll.dll nie deklaruje metody o nazwie 'Dodaj' jako możliwej do eksportu. –