Веб-развертывание случайно перестало работать: превышено максимальное количество проходов синхронизации «10».
У нас есть серверы Windows Server 2022 и Windows Server 2019 с установленным Web Deploy 3.6. Все работало отлично, и мы смогли без проблем выполнить развертывание. Мы смогли выполнить развертывание вручную из Visual Studio (публикация сайта). Мы также можем выполнить развертывание с помощью действий Github, например:
dotnet build WebsiteProjects\Website.Site\Website.Site.csproj /p:Configuration=Release /p:PublishProfile=WebsiteProjects\Website.Site\Properties\PublishProfiles\LIVE.pubxml /p:DeployOnBuild=True /p:Password="$ {{ secrets.PROD_PASS }}"
Однако за последний месяц мы просто не можем больше ничего развертывать.
При развертывании из Visual Studio мы получаем эту ошибку:
C:\ProgramFiles\dotnet\sdk\8.0.100\Sdks\Microsoft.NET.Sdk.Publish\targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(140,5): Ошибка: задача веб-развертывания неуспешный. (Синхронизация остановлена, поскольку максимальное количество проходов синхронизации «10» было превышено, хотя все изменения не удалось применить. Это могло произойти, если в место назначения были внесены внешние изменения.) Не удалось развернуть публикацию.
Если мы используем действия GitHub, мы получаем эту ошибку:
MSDEPLOY: ошибка: синхронизация останавливается, поскольку превышено максимальное количество проходов синхронизации «10», хотя все изменения применить не удалось. Это может произойти, если в пункт назначения были внесены внешние изменения. [C:\actions-runner_work\Site\Site\WebServiceProjects\WebService.SiteApi\WebService.SiteApi.csproj]
На этих серверах за последние годы абсолютно ничего не изменилось, за исключением обновлений Windows и добавления/удаления сайтов. Профили публикации также не изменились.
Отключение Защитника Windows не помогает. Перезапуск агента веб-развертывания не помогает. Перезапуск сервера не помогает. Перезапуск IIS или отключение сайта во время развертывания не помогают.
Иногда , если я остановлю сайт и удалю все файлы в папке inetpub, развертывание будет работать - кажется, это единственный способ заставить веб-развертывание работать, но это несовместимо.
Обратите внимание, что мы попробовали это с SDK .NET 7 и .NET 8 — та же проблема. Я зарегистрировал это через Visual Studio, так как изначально думал, что это проблема одного из их обновлений. В средстве просмотра событий я также не вижу ничего интересного.
На самом деле я в растерянности, поскольку теперь мы не можем запускать действия GitHub для развертываний и даже не можем вручную развертывать их из Visual Studio на серверах. Любые предложения о том, как исправить или диагностировать то, что происходит?
Пример профиля публикации:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://...</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<TargetFramework>net7.0</TargetFramework>
<ProjectGuid>2ca81a89-d8b9-4f72-ba22-dd26757ef8d6</ProjectGuid>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>
<MSDeployServiceURL>...</MSDeployServiceURL>
<DeployIisAppPath>...</DeployIisAppPath>
<RemoteSitePhysicalPath />
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<UserName>Administrator</UserName>
<_SavePWD>true</_SavePWD>
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
<MSDeployUseChecksum>true</MSDeployUseChecksum>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>