iismsdeployvisual-studio-2013clr4.0

MSDeploy - Cannot deploy .NET v4.5 package to v4.0 Application Pool


After migrating TeamCity from one server to another, and also switching to Visual Studio 2013, our build fails when using MSDeploy to push a TC-built .zip package to IIS.

The application pool that you are trying to use has the 'managedRuntimeVersion' property set to 'v4.0'. This application requires 'v4.5'

This is a strange error since my IIS server has .NET 4.5 installed and has been happily running and being deployed to for weeks, and a 4.0 application pool will run a 4.5 targeted app.

Unfortunately, the waters are muddied by the changes to TC and VS (2013) so what caused the issue I cannot be sure of.

Note: Our TC server only has Visual Studio 2012 on it, since I'm on MSDN and got early access to 2013. This could be the culprit, but doesn't make the issue any less odd.


Solution

  • I'd prefer not to disabled .NET runtime version checking at all (with IgnoreDeployManagedRuntimeVersion), but instead implicit set runtime version via DeployManagedRuntimeVersion:

    <DeployManagedRuntimeVersion>v4.0</DeployManagedRuntimeVersion>
    

    Some more details: http://techblog.dorogin.com/2013/11/deploying-45-projects-with-webdeploy.html