У меня серьезная проблема с моей программой .Net. Он вызывает собственный dll, а затем мгновенно падает, потому что не может найти собственный метод. Это поведение, которое мы видели ранее, когда компилятор C # в своей бесконечной мудрости устанавливает флаг, что программа совместима с DEP, даже если она вызывает нативный dll, который явно не является.
У нас есть стандартный обходной путь для этого, когда в шаге после сборки установлен флаг «Не DEP-совместимо», и это прекрасно работает. Везде кроме как на моей машине. У меня Windows 7 32bit, и программа отлично работает на 64-битных машинах Win 7, которые у нас есть, а также на Vista и XP.
Однако на моем компьютере DataExecutionPolicy_SupportPolicy равен 0, т. Е. Мы успешно отключили DEP. Кто-нибудь знает, есть ли какая-то ситуация, в которой он еще может действовать? Или любой другой механизм, который мог бы иметь такой же эффект?
Мы также проверили на другом недавно установленном 32-битном компьютере с Win7 (также на Thinkpad, как у меня), и он также работает там. Мы сравнили все настройки BIOS, и они похожи (у меня T61, другой R60).
Рассматриваемая dll также отлично работает на моей машине при вызове из нативной программы. У нас заканчиваются идеи ... любая помощь будет высоко ценится!