読者です 読者をやめる 読者になる 読者になる

minato128 blog

minato128の公開メモ帳です。

IISマネージャーからアプリケーションインポートしたら、アプリケーションプールのエラーが出た

MSBuild ASP.NET VS2012

環境

ASP.NET Web Forms 4.5
Windows Server 2008R2, Web Deploy 3.5
Windows7, VS2012 Update3

現象

IISマネージャーからアプリケーションのインポートしたら、下のエラーになった。
手動でデプロイしたら動くし、アプリケーションプールの設定は間違ってなさそう。

使用しようとしているアプリケーション プールでは、'managedRuntimeVersion' プロパティが 'v4.0' に設定されています。このアプリケーションには 'v4.5' が必要です。
詳細情報の参照先: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_APPPOOL_VERSION_MISMATCH

「詳細情報の参照先」から抜粋。これは関係なさそう。

ERROR_APPPOOL_VERSION_MISMATCH
Diagnosis - The source application pool version is different from the destination application pool version.
Resolution - You can manually change the application pool versions to match between the source and destination, or use the apppoolnetfx provider to do it automatically.

対策

結果的にこちらにあるように、MSBuildにパラメーター追加したらできた。
VS2010とVS2012が入ってる環境だと、デフォルトではMSBuildがVS2010の設定を参照するとのこと。

msbuild.exe MyAwesomeWeb.csproj /p:VisualStudioVersion=11.0