我有一个不能在64位操作系统上运行的.NET 2.0应用程序(客户尝试过Server 2003和Windows 7)。错误消息是:
应用程序无法正确初始化(0xc0000135)。
Google搜索此消息会返回一些有用的信息(one link我刚发现如果您收到此消息,那是因为它们不支持64位)。
我想在我的应用中启用64位支持。我没有64位系统可供测试,我不想在不知道如何使用这项工作的情况下进行投资。
有谁知道这个错误代码的真正含义?我应该注意64位支持中是否有任何常见的陷阱?
我唯一的预感是.NET TAPI包装器(一种现在称为TransPort的过时产品)可能无法在64位系统上运行。 (供应商早已不复存在,我没有源代码)。
答案 0 :(得分:8)
此问题的最可能原因是您的代码通过COM互操作,混合模式程序集(例如C ++ / CLI)或通过PInvoke使用32位特定的本机DLL。尝试将.Net应用程序设置为特定于x86体系结构,并查看它是否运行。
您可以使用corflags工具强制应用程序具有32位关联性
答案 1 :(得分:1)
如果像JaredPar建议的那样,你使用的是Interop,那么微软的FxCop会发现与标准系统DLL(System32.dll和User32.dll)上的32/64调用有关的任何问题