Javascript 编译到x64并收到System.BadImageFormatException
我有一个C#项目“library”和一个项目“JavaScript”的解决方案,在编译之后,它生成一个.winmd文件并被带到另一个项目。但是这个项目是基于x86构建的,我需要为x64编译,以运行应用程序,以便x64获得以下错误:Javascript 编译到x64并收到System.BadImageFormatException,javascript,c#,badimageformatexception,winmd,Javascript,C#,Badimageformatexception,Winmd,我有一个C#项目“library”和一个项目“JavaScript”的解决方案,在编译之后,它生成一个.winmd文件并被带到另一个项目。但是这个项目是基于x86构建的,我需要为x64编译,以运行应用程序,以便x64获得以下错误: 'WWAHost.exe' (Script): Loaded 'Script Code (MSAppHost/2.0)'. Unhandled exception at line 25, column 13 in ms-appx://2c341884-5957-41
'WWAHost.exe' (Script): Loaded 'Script Code (MSAppHost/2.0)'.
Unhandled exception at line 25, column 13 in ms-appx://2c341884-5957-41b1-bb32-10e13dd434ba/js/default.js
0x8007000b - JavaScript runtime error: An attempt was made to load a program with an incorrect format.
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Runtime.InteropServices.WindowsRuntime.ManagedActivationFactory.ActivateInstance()
WinRT information: System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Runtime.InteropServices.WindowsRuntime.ManagedActivationFactory.ActivateInstance()
The program '[5776] WWAHost.exe' has exited with code -1 (0xffffffff).
如果我没有弄错的话,“library”项目是专门编译为x86的,您是从针对x64的javascript项目中使用它的吗 如果是这种情况,您将无法执行此操作,因为64位进程无法明确加载为x86编译的程序集(您将获得所提到的
BadImageFormatException
)
您可以选择以x86模式编译Javascript项目,该项目将在WoW上运行,但我不确定这与winmd文件有何关系
您最好的选择是,如果您有权访问“库”项目代码,将其编译为“任意CPU”,以便任何位运行的进程都可以使用它。过了一段时间,我发现了问题。它是dll中使用的方法之一,该方法必须被称为问题,因此需要识别。但是为了替换DLL,问题解决了。我的操作系统是Windows 8.1 x64,因此我尝试创建一个新项目,并复制解决方案中引用的类和.DLL文件。我正在尝试将项目编译为“任意CPU”选项,但我遇到了相同的异常。是否正在加载一些本机DLL?我现在看到错误来自互操作服务?是的,有一些dll(我有x64和x32),当它们加载时,我使用dll作为编译架构。