2015-06-26 3 views
0

У меня есть решение с проектом C# «библиотеки» и проектом «JavaScript» после того, как скомпилированный он генерирует файл .winmd, взятый в другой проект. Но этот проект построен на x86 и мне нужно собрать для x64, чтобы запустить приложение в порядке x64 получить следующее сообщение об ошибке:Компиляция с x64 и полученная система.BadImageFormatException

'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). 
+0

Моя операционная система - Windows 8.1 x64 –

+0

Исправлена ​​ошибка – Delimitry

ответ

0

Если я вас правильно понимаю, проект «Библиотека» составлен специально для x86 , и вы потребляете его из проекта javascript, ориентированного на x64?

Если это так, вы не сможете выполнить эту работу, так как 64-битный процесс не может загрузить сборки, которые были скомпилированы для x86 (вы получаете упомянутый BadImageFormatException).

Вы можете скомпилировать проект Javascript в режиме x86, который будет работать на WoW, но я не уверен, как это относится к файлам winmd.

Лучше всего, если у вас есть доступ к коду проекта «library», чтобы скомпилировать его как «Любой процессор», чтобы он мог использоваться процессами, работающими в любой битне.

+0

Итак, я попытался создать новый проект и скопировать классы и DLL-файлы, на которые ссылаются в решении. Я пытаюсь скомпилировать проект с опцией «Любой процессор», но я получаю то же исключение. –

+0

Будут ли загружены некоторые родные DLL? Теперь я вижу, что ошибка исходит от межсетевых сервисов? –

+0

Да, есть некоторые библиотеки DLL (у меня есть x64 и x32), когда они загружаются. Я использую dll в своей архитектуре компиляции. –

0

Через некоторое время я нашел проблему. Это один из используемых dll, обладающий методом, который должен был называться проблемами, поэтому потребовалось идентифицировать. Но для замены DLL проблема была решена.