minato128 blog

minato128の公開メモ帳です。

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

環境

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