Сотни экземпляров MSBuild при публикации в сети, а затем зависает - PullRequest
0 голосов
/ 16 октября 2018

Я использую Visual Studio 2015 Update 3 с несколькими решениями для веб-проектов, которые используют процесс публикации файловой системы.Это работало хорошо в течение долгого времени, вплоть до прошлой недели, когда в любое время я пытаюсь опубликовать любой вид - будь то сборка решения для выпуска или выбор варианта публикации проекта вручную, MSBuild.exe начнет работать изатем сотни из них принимают систему вместе с conhost.exe и cmd.exe (аналогичное количество каждого из них).Смотрите скриншот ниже.Папка никогда не публикуется, и самое долгое время, которое я запускал, было около часа, после чего я не мог отменить сборку и должен был перезагрузиться.Я даже пытался восстановить Visual Studio, но потом обнаружил, что это происходит на 2 других машинах, но не на 4-й.У нас разные версии ОС (Windows 7 и Windows 10), но все они используют одну и ту же версию Visual Studio.Мы все перезагрузили несколько раз.Это работало хорошо только недавно, 11 октября (последний четверг), оно стало появляться 12 октября, и с тех пор с ним борются.Сам процесс публикации не изменился и не имеет свойств проекта для любого из этих веб-проектов.

enter image description here

Вот как выглядит один из pubxml:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>$(MSBuildThisFileDirectory)..\..\PublishWebServiceToFileSystem</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
  </PropertyGroup>
</Project>

Я видел похожий пост, но он былсвязанных с изменениями часовых поясов, и, насколько я знаю, никто из нас не сделал таких изменений.Может кто-нибудь дать совет, как устранить неполадки, как это?

TIA

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Я считаю, что это решено сейчас и связано с использованием SignTool в PostBuildEvent.Поскольку наш автоматизированный процесс сборки требует публикации, у нас также был вызов публикации msbuild в том же PostBuildEvent после подписания dll.Мы думаем, что во время публикации он увидит событие после сборки и попытается подписать уже подписанную dll.Я не уверен на 100%, что это была проблема, но удаление подписи остановило поведение, вернув его обратно, возобновив поведение, поэтому доказательства указывают в этом направлении.

Что я сделал, чтобы исправить проблему, так это изменитьДля этого была добавлена ​​команда publish, где / p: PostBuildEvent = было добавлено к существующему оператору:

if $(ConfigurationName) == Release ("$(MSBuildBinPath)\msbuild.exe" 
"$(ProjectPath)" /p:Configuration=Release /p:DeployOnBuild=true 
/p:PublishProfile=PublishWebSiteToFileSystem /p:VisualStudioVersion=14.0 
/p:PostBuildEvent=)

Еще раз спасибо всем, кто взглянул на это.Надеюсь, это поможет кому-то еще в будущем.

0 голосов
/ 17 октября 2018

Сотни экземпляров MSBuild при веб-публикации, затем зависает

( Согласно описанию этой проблемы. Мы не смогли дать самый прямой правильный ответ на эту проблемуМы можем предоставить вам только некоторые способы устранения неполадок. Чтобы не потерять контакт и некоторую информацию в комментариях к ответу, я публикую эти сведения об устранении неполадок как ответ, а не комментарии. )

Чтобы решить эту проблему,Во-первых, нам нужно сузить сферу действия этой проблемы, вы можете попытаться создать несколько новых пустых проектов (веб-приложение и не-веб-приложение), а затем проверить, если эта проблема все еще существует, если нет, эта проблема должна быть больше связана спроект, то вы можете использовать контроль версий, чтобы проверить, какие изменения вызывают проблему.

Если эта проблема все еще в новом пустом приложении, эта проблема не должна быть связана с настройками среды.Вы можете настроить следующие параметры:

  • Проверьте, не вызывает ли обновление Windows проблему.
  • Попробуйте изменить параметры сборки на 1 параллельную сборку.

См. Также:

Загадка застрявших неактивных процессов msbuild.exe,заблокированные Stylecop.dll, Nuget AccessViolationException и CI сборки конфликтуют друг с другом

msbuild.exe, оставаясь открытым, блокируя файлы

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...