2013-04-15 2 views
0

У меня есть нечетная проблемаC++/Cli программы System.BadImageFormatException

Платформа: .NET 4.0, Win7 32/64, VS2010

MIPCChannel.dll: C++/CLI смешанного DLL

NewClient. ех: C#, который refrenced в MIPCChannel.dll

Проблема заключается в том, когда я развернуть свою программу, кто-то попытается запустить NewClient.exe дает ошибку: CLR20r3, System.BadImageFormatException

я ниже шагов:

  1. я почтительное MIPCChannel.dll все идет нормально
  2. или я установить VS2010 перераспределить все идет нормально

, но я не хочу отвечать перераспределять, и я хочу знать, где проблема!

+0

, поэтому, если вы устанавливаете VS2010, он может быть распространен, он работает? – Axarydax

+0

Почему бы вам не захотеть перераспределить? –

+0

Да, установить VS2010 Распространяемый он работает. Redistribute сделает мой клиент не так просто – lsaturn

ответ

1

Смешанный режим C++/CLI DLL должны быть связаны с динамическим временем выполнения. Это означает, что вы должны развернуть динамическую среду выполнения на любом компьютере, на котором вы хотите запустить такую ​​DLL.

Поскольку вы используете VS2010, вам не нужно развертывать среду выполнения, используя распространяемый пакет, хотя это рекомендуемый способ сделать это. Вместо этого вы можете установить specific Visual C++ DLLs to the application local folder.

+0

спасибо, вы правы, и я отказываюсь от dll смешанного режима C++/CLI, я попробовал p/invoke – lsaturn

0

Проверьте, есть ли проблема x86 или x64. Вероятно, вы работаете в 64-битной среде, но развернуты в 32-разрядной среде.

+0

нет, я проверил свою конфигурацию. – lsaturn

Смежные вопросы