我使用webdeploy方法通过Teamcity部署网站:
web.csproj /P:Configuration=%env.Configuraton% / P:DeployOnBuild = True / P:DeployTarget = MSDeployPublish /P:MsDeployServiceUrl=%env.DeployServiceUrl% / P:AllowUntrustedCertificate = True / P:MSDeployPublishMethod = WMSvc / P:CreatePackageOnPublish = True /P:UserName=%env.DeployUserName% /P:Password=%env.DeployPassword%
我不断收到的错误:
[MSDeployPublish] VSMSDeploy(35s)[VSMSDeploy] C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ V10.5 \网络\ Microsoft.Web.Publishing.targets(4196, 5):错误ERROR_EXCEEDED_MAX_SITE_CONNECTIONS:Web部署任务 失败。 (此站点的最大连接数已为 超标。了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEEDED_MAX_SITE_CONNECTIONS。)
在Teamcity代理上安装了Visual Studio 2010 Express,。netf框架版本:4.0
答案 0 :(得分:22)
我已通过重新启动服务中的Web Management Service
解决了此问题。
答案 1 :(得分:1)
我调查了两端的问题:托管Web服务器和构建机器(从Web安装程序安装的Visual Studio 2010 Express SP1),我从中启动部署。重新启动团队城市服务器和代理(在2个代理上重现的问题)没有帮助。我在本地计算机上安装了团队城市代理,并从中成功部署。然后我比较了成功和失败的构建日志。有趣的部分是错误的来源:
C:\程序 文件(x86)\的MSBuild \微软\ VisualStudio的\ V10.5 \网络\ Microsoft.Web.Publishing.targets
在我的本地计算机上(Visual Studio Ultimate 2010 with SP1)a只有
的MSBuild \微软\ VisualStudio的**的 V10 ** 强> \网络\ Microsoft.Web.Publishing.targets
所以我的快速解决方案是在构建代理上使用该方法测试部署。我已经取代了
的内容C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.5 \ Web \
带
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10 \ Web \
并解决了这个问题。 我不知道为什么,但部署之前在构建代理上正常工作。
答案 2 :(得分:1)
我也遇到过这种方法,允许无限数量的连接:
1。)添加以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]
"MaxSiteConnections"=dword:00000000
2.)重新启动 Web管理服务
参考: Nicolas_nguyen1对此Microsoft document
的评论来源: How to limit webdeploy connection number, ERROR_EXCEEDED_MAX_SITE_CONNECTIONS
<强>更新强>
我能够自己测试一下,似乎Web Deploy将这个值视为字面上的&#34; 0&#34;允许连接,导致每次都发生此错误。所以我将它设置为0x7FFFFFFF
(最大值为32位整数)。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3]
"MaxSiteConnections"=dword:7FFFFFFF
答案 3 :(得分:0)
我今天在设置的新TeamCity构建中遇到了同样的问题。构建使用Web Deploy按照每晚的时间表发布两个MVC4应用程序来测试本地网络上的服务器。
在我的情况下,错误是由于在TeamCity中的构建的计划触发器上选中了“触发器构建所有已启用和兼容的代理”选项。我们有四个构建代理,并且选中该选项是同时启动四个构建。其中两个版本成功,两个版本因ERROR_EXCEEDED_MAX_SITE_CONNECTIONS
错误而失败。
答案 4 :(得分:0)
我也遇到过这个错误,我研究了两种方法来解决它。这是我原来的问题,但我认为这个问题比我的更容易搜索,所以我会在这里重新发布我的发现以帮助其他人: https://stackoverflow.com/a/49140311/4228027
有一种方法可以限制MSBuild可以使用的线程数。
msbuild.exe mysln.sln /maxcpucount:3
&#34; maxcpucount&#34;限制MSBuild线程,从而限制可以同时发布的项目数。如果没有定义,MSBuild实际上将使用最多计算机上的处理器数量。
参考:https://msdn.microsoft.com/en-us/library/bb651793.aspx
将注册表值添加到服务器
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ IIS Extensions \ MSDeploy \ 3]
&#34; MaxSiteConnections&#34; (DWORD值):0
然后重启&#34; Web管理服务&#34;。
将注册表值设置为0
时,表示无限制连接。
参考:Nicolas_nguyen1对此Microsoft document
的评论