Делаю маршалинг из с++ dll
Простейший тестовый проект:
В с++ dll'ке одна export-функция
extern "C" void __declspec(dllexport) Calc()
{
}
В c# её вызов:
[DllImport(@"cppdll.dll")]
private static extern void Calc();
private void Button_Click(object sender, RoutedEventArgs e)
{
Calc();
MessageBox.Show("OK");
}
Проблема: на одном компе программа отрабатывает нормально (Появляется MessageBox), на другом вылетает на вызове Calc(). На обоих компах Windows 7.
В сгенеренном виндой xml-файле ошибки, указана причина — DllNotFoundException. Почему на другом компе dll'ка вдруг не находится? В обоих случаях exe и dll лежат рядышком в одной папке.