現象
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の設定を参照するとのこと。
- TFS2012自動ビルドでデプロイすると「'managedRuntimeVersion' プロパティが 'v4.0' に設定されています。このアプリケーションには 'v4.5' が必要です。」への対応方法 #tfsug - kaji_3's blog
- MSBuild deploy failing after upgrade to .NET 4.5 - Stack Overflow
msbuild.exe MyAwesomeWeb.csproj /p:VisualStudioVersion=11.0