Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编译到x64并收到System.BadImageFormatException_Javascript_C#_Badimageformatexception_Winmd - Fatal编程技术网

Javascript 编译到x64并收到System.BadImageFormatException

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

我有一个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-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作为编译架构。