2010-11-23 12 views
0

私はAと呼ばれるプログラムを持っています。これはA.exeファイルです。 A.exeはx86プログラムとして実行しなければならず、したがって1つとして構築されます。 A.exeはB.dllとC.dllを指します。 B.DLLとC.DLLがA.EXEMSBuildが自分のx86プログラムを構築できません

にそれらを利用できるようにx86のプログラムとして構築するために設定されている

私はまだ学んでそうイムからMSBuild.exeを持つこの建物にかなり新しいです。 msbuildタスクを使用してアプリケーション(A)のプロジェクト(.csproj)ファイルを構築するビルドファイルを作成しました。 Visual Studio内からすべてを簡単に構築できます。

私は私のMSBuild(コマンドライン)からビルドするとき、私はこのエラーを取得:「試みは間違ったフォーマットB.exeでアセンブリをロードするためになされた

<Target Name="Compile"> 
    <Message Text="Compiling"/> 
    <ItemGroup>  
     <myproject Include="A.csproj"/> 
    </ItemGroup> 
    <MSBuild Projects="@(myproject)" Properties="Configuration=Release;Platform=x86"/>  
    </Target> 

答えて

0

DLLを構築する必要はありません。 x86用にビルドされたものでなければなりません。x86用にビルドされた.exeでロードされると、JITコンパイラは.exe(つまり.exeがx86用にビルドされている場合はx86)用に選択されたターゲットに対してコンパイルします。

でも、msbuildを手助けできません:

+0

ありがとうございます私はmsbuild.exeの32ビット版に切り替えるしかありませんでした –

関連する問題