Windows 8コンピューター(x64)でVS2012を使用してWindowsフォームアプリケーションを作成し、WindowsXPx86で実行したいと考えています。プログラムを実行しようとすると、「...は有効なWindows32アプリケーションではありません」というエラーが表示されます。どうすれば修正できますか?
4 に答える
- ソリューション エクスプローラーでプロジェクト名を右クリックします。
- プロパティを選択
- ビルドタブを選択
- プラットフォーム ターゲット DropDownList の x86 オプションを選択します
- プロジェクトを保存してビルドする
また、テスト マシンに存在するバージョンと同じ .Net Framework バージョンをターゲットにしていることを確認してください。
C++ プロジェクトをビルドしている場合は、これを試してください。
一般 -> プラットフォーム ツールセット -> Visual Studio 2012 -> Windows XP (v110_xp)
ターゲットを Any CPU として選択することをお勧めします。
コンパイラは、Any CPU オプションを選択したときにプログラム ( x86 または x64 ) を呼び出す方法を決定し、Any CPU プラットフォームも選択します。
Visual Studio 2012 の C++ の Windows XP ターゲット設定に関連する問題が発生しているようです。C++ ターゲットを使用した Windows XP のサポートは、Visual Studio 2012 Update 1 で追加されましたが、プロジェクト プロパティで明示的に選択する必要があります。
Visual Studio 2012 での C++ を使用した Windows XP のターゲット設定
上記のリンクには多くの追加情報がありますが、C++ プロジェクトのプロパティで探している特定の設定は、一般 → プラットフォーム ツールセット → Visual Studio 2012 - Windows XP (v110_xp) です。
情報が少ないことを考えると、おそらく遠く離れた推測です。
コンパイル ターゲットを x86 に変更する必要があります。
Project->Application Properties->Compile
Set Target CPU to x86