2013-04-15 85 views
0

我有一個奇數問題C++/CLI程序System.BadImageFormatException

平臺:.NET 4.0,Win7的32/64,VS2010

MIPCChannel.dll:C++/CLI混合DLL

NewClient。 EXE:其refrenced的MIPCChannel.dll

問題是,當我部署我的程序,有人嘗試運行NewClient.exe C#提供了錯誤:CLR20r3,System.BadImageFormatException

我做下面的步驟:

  1. 我尊重的MIPCChannel.dll一切正常的話
  2. 或我安裝VS2010再分配一切正常的話

,但我不想回答再分發,和我想知道問題出在哪裏!

+0

所以如果你安裝VS2010 Redistributable,它的工作原理是什麼? – Axarydax

+0

爲什麼你不想重新分配? –

+0

是的,安裝VS2010 Redistributable它工作。重新分配將使我的客戶不那麼容易 – lsaturn

回答

1

混合模式C++/CLI DLL必須鏈接到動態運行時。這意味着您必須將動態運行時部署到任何希望運行此類DLL的計算機上。

由於您使用的是VS2010,因此不需要使用可再發行組件包部署運行庫,儘管這是推薦的方式。您可以改爲部署specific Visual C++ DLLs to the application local folder

+0

謝謝,你是對的,我放棄了混合模式C++/CLI DLL,我試過P/invoke – lsaturn

0

檢查它是x86還是x64問題。您可能在64位環境中開發,但在32位環境中部署。

+0

不,我檢查了我的配置。 – lsaturn

相關問題