C # P Wywołaj DLL bez punktu wejścia do C ++?
Mam bibliotekę Dll C ++ „TheFoo.dll” za pomocą metody „Foo ()”
Mam dostęp do innego kodu C ++, który używa tej metody, po prostu wywołując:
Foo();
Wierzę, że Metoda ma:
__declspec( dllexport )
Tak więc z odczytem, który zrobiłem na temat P / Invoke, pomyślałem, że powinienem móc po prostu wywołać tę samą metodę z mojego kodu C #:
namespace PInvokeExample1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
[DllImport(@"C:\MyFolder\TheFoo.dll")]
public static extern
void Foo();
private void button1_Click(object sender, RoutedEventArgs e)
{
Foo();
}
}
}
Gdy go uruchomię, pojawia się błąd:
Unable to find an entry point named 'Foo' in DLL 'C:\MyFolder\TheFoo.dll'.
Jakieś pomysły, dlaczego nie znaleziono?