在将Teamcity从一台服务器迁移到另一台服务器并切换到Visual Studio 2013之后,我们的构建使用MSDeploy将TC构建.ZIP软件包推向IIS时失败。

您尝试使用的应用程序池的“ takiteDruntimeversion”属性设置为“ v4.0”。此应用程序需要“ v4.5”

这是一个奇怪的错误,因为我的IIS服务器已安装了.NET 4.5,并且一直很乐意运行并部署了数周,并且4.0应用程序池将运行4.5个目标应用程序。

不幸的是,水域被TC和VS(2013)的变化所困扰,因此我无法确定的问题。

注意:我们的TC服务器仅在MSDN上使用Visual Studio 2012,并且可以尽早访问2013年。这可能是罪魁祸首,但并没有使问题变得更加奇怪。

有帮助吗?

解决方案

我宁愿完全不用禁用.NET运行时版本检查(带有忽略的eploymanagedruntimeversion),而是通过deploymanagedruntimeversion:

<DeployManagedRuntimeVersion>v4.0</DeployManagedRuntimeVersion>

更多细节: http://techblog.dorogin.com/2013/11/deploying-45-projects-with-with-webdeploy.html

其他提示

打开你的 .csproj 文件并设置以下元素:

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>

在此元素上方添加它有助于可读性:

<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

荣誉 https://stackoverflow.com/users/1769923/abhishikt-n-jain 在此处使用此鲜为人知的配置设置回答:

升级到.NET 4.5后部署失败失败

如果有人知道 为什么 发生这种情况,请随时添加答案。

更新

在下面无视我的评论。虽然它使我经过部署,但我得到了一个 503 Service Unavailable 当我实际尝试运行Web应用程序时。我通过设置 managedRuntimeVersion 属性回到v4.0,并添加了 IgnoreDeployManagedRuntimeVersion 到我的项目。然后部署成功,应用程序起作用。哑的...


在我在Windows Server 2008 R2 SP1机器上安装.NET Framework 4.5.1(作为升级PowerShell的一部分)上后,这发生在我身上。

Windows Server 2008上的IIS用户界面没有设置设置的选项 managedRuntimeVersion 即使在安装该版本后,属性至v4.5。但是,这可以在命令行上使用 appcmd 实用程序为 @3boysdad的答案。

appcmd 是管理IIS网站,应用程序,AppPools等等同的命令行。它位于 %systemroot%\system32\inetsrv\appcmd.exe 但这并不是以下链接所解释的路径:

http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-pappcmdexe#howtouse

我认为修改您的项目(通过 IgnoreDeployManagedRuntimeVersion 或者 DeployManagedRuntimeVersion 属性)是最佳的。应用程序池应设置为使用v4.5,在Windows Server 2008上执行此操作的唯一方法是使用 appcmd 效用。 @3boysdad的答案应该是公认的答案。

在寻找同样的问题时发现了这个宝石。

appcmd set apppool /apppool.name: <your app pool> /managedRuntimeVersion:v4.5

这将需要在您的 system32 inetsrv目录中执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top