我的.Net程序存在严重问题。它调用本机dll,然后立即崩溃,因为它找不到本机方法。这是我们之前看到过的行为,C#编译器以其无限的智慧设置了程序与DEP兼容的标志,即使它调用的是本机dll,显然也不是。
我们有这个标准的解决方法,其中标志在后期构建步骤中设置为Not DEP Compatible,这很好。除了我的机器以外的所有地方。我有Windows 7 32位,并且该程序在我们拥有的Win 7 64位机器以及Vista和XP上运行良好。
但是,在我的机器上,DataExecutionPolicy_SupportPolicy为0,即我们已成功关闭DEP。有谁知道是否有某些情况仍然可以采取行动?或任何其他可能产生相同影响的机制?
我们现在还检查了另一台新安装的Win7 32bit机器(也是像我这样的Thinkpad),它也适用于那里。我们比较了所有的BIOS设置,它们是相似的(我的是T61,另一个是R60)。
当从本机程序调用时,有问题的dll在我的机器上也能正常工作。我们的想法已经不多了......任何帮助都会非常感激!
答案 0 :(得分:0)
好的,问题是完全不同的事情。我的机器是唯一没有正确设置本机dll路径的机器;这导致了Win7的即时崩溃,而在XP中,曾经有一个消息框给出了(高度神秘)的想法。
所以我们可以免除DEP的任何责任。我将它留在标题中,以便其他有同样怀疑的人记得检查他们的文件路径!