webdevqa.jp.net

Visual Studio2012を使用してXP XP $ ===)で.NET 4.0.3をターゲットにするにはどうすればよいですか?アプリケーションは「有効なWin32アプリケーションではありません」で実行できません

XPで実行する必要がある.NET4.0.3を対象とする大規模なアプリケーションがあります。 Visual Studio 2010 SP1を使用して正常にビルドされ、XPで正しく動作します。

.NET4.0.3をターゲットとするVisualStudio 2012を使用したビルドも、Windows 7で正常にビルドされ、正常に実行されますが、XPでは実行できません。 MyApp.exeが有効なWin32アプリケーションではないというエラーが表示されます。

Visual Studio2012を使用するXPマシンをサポートして、.NET 4.0.3を引き続きターゲットにするにはどうすればよいですか?

19
KTrace

これが機能するかどうかはわかりませんが、トリック ここに表示 を試して、サブシステムのバージョンをEditBin.exeで手動で設定してください。

7
Mehrdad

私たちもこの問題を抱えています。アプリケーションがターゲットにしているフレームワークは関係ありません(4.0クライアントをターゲットにしています)。

問題は、Visual Studio 2012が、XPで実行されるsetup.exeをクリックすると生成されないことです。プログラムが有効なWin32アプリケーションではないことを常に報告するため、エラーは誤解を招く恐れがあります。これは、64ビットバージョンを含むXPのすべてのバージョンで行われます。

問題を引き起こしているのはアプリケーションではなく、VS2012によって生成されたsetup.exeです。それを回避するために私たちが見つけた唯一の方法は、VS2010を使用して公開することです。

9
Joe Griffith

マイクロソフトは最近、この修正を投稿しました。 (エクスプレスバージョンが含まれています。)

詳細: http://blogs.msdn.com/b/smondal/archive/2012/10/15/setup-exe-is-not-a-valid-win32-application.aspx

5
indigophoenix

[プロジェクトのプロパティ]-> [公開]-> [前提条件]パネル(VS2012 with Update 1)で、ターゲットシステム要件を設定できます。 .NET 4用にビルドしている場合でも([プロジェクトのプロパティ]-> [アプリケーション]-> [ターゲットフレームワーク])、要件が自動的に削除されないため、前提条件を4.5から4に変更する必要があります。

ターゲットが4で、前提条件が4.5のビルドでは、インストーラーは起動しますが、システムチェックに失敗します

1
Jadyn

VS2012 Update 1は、この問題を解決することになっています。ただし、使用するオプションがわかりません。[プロジェクトのプロパティ]-> [一般]-> [プラットフォームツールセット]の[ツールセット]ですか?

0
Ash Prasad

これは私にとってはうまくいきました-Studio2012でソリューションをビルドし、Debugフォルダーからソリューションの内容のコピーを取得するだけです。 XPクライアントに.net4がインストールされていることを確認してください。

0
Jim