Я использую DllImport для доступа к некоторым функциям в C++ dll из моего приложения C#.Win 7 DllImport C# Нечетная ошибка, Неверный доступ к ячейке памяти?
Этот код отлично работает на моем ноутбуке dev, который является Windows 7 64bit, сама dll 32-разрядная, поэтому я запускаю процесс размещения DLL на 32-битной основе и хорошо работает. Однако, когда я пытаюсь запустить тот же самый процесс на моей целевой машине, что опять же, Windows 7 64bit Ultimate, я получаю сообщение об ошибке «Недопустимый доступ к ячейке памяти». из процесса.
Я не уверен, в чем проблема, я просмотрел множество ресурсов в сети, и никто из них не решил это для меня. Я не понимаю, почему он отлично работает на моей dev-боксе, но не на цель?
Сама dll сама по себе, примеры, которые поставляются с dll, отлично работают на моем целевом поле (которые являются приложениями C#, выполняющими DllImport).
У кого-нибудь еще была эта проблема? Борьба с ним уже два дня!
Исключение: {"Unable to load DLL 'CLEyeMulticam.dll': Invalid access to memory location. (Exception from HRESULT: 0x800703E6)"}
DEP - это как OptIn (который в основном включен DEP) в моем окне разработки. Но у нас есть нулевые проблемы ... Я пытался найти какие-либо различия, но я установил обе машины с одинаковым ISO, как с VS2010, Robotics Framework RC3, так и с той же DLL, к которой я пытаюсь получить доступ. Но попробуйте, как я могу, я не могу получить эту новую машину, чтобы получить рамку робототехники, читающую dll правильно! – James
Я также пробовал форматировать машину полностью заново, все еще имею ту же проблему. – James
Я не смог решить эту проблему. Это произошло только при использовании DLL в Microsoft Robots Studio. В конце концов мне пришлось создать новое приложение для размещения DLL и передать перекрестный процесс через WCF с именем pipe :( – James