Медленные сборки, тонны «Рассмотренного« пути », но его не было».в журнале сборки - PullRequest
0 голосов
/ 05 октября 2011

Я работаю с довольно большим решением в Visual Studio, состоящим из более чем 130 проектов (не спрашивайте).

Оно имеет около 40 различных конфигураций решения, поэтому только подмножества решения построены навремя.Даже если построено всего около 25 проектов, инкрементная сборка на машине с твердотельным накопителем занимает от 30 секунд до 1 минуты.

Это старое решение, поэтому со временем оно выросло и, вероятно,сейчас все ухудшается, но после включения подробного ведения журнала сборки я вижу следующее, зарегистрированное в каждой сборке:

 Dependency "AWSSDK, Version=1.0.9.0, Culture=neutral, PublicKeyToken=cd2d24cd2bace800".
      Resolved file path is "C:\Program Files (x86)\AWS SDK for .NET\bin\AWSSDK.dll".
      Reference found at search path location "{AssemblyFolders}".
          For SearchPath "aaaaaaaaaaaa\bin\Debug".
          Considered "bbbbbbbbbbb\bin\Debug\AWSSDK.dll", but it didn't exist.
          Considered "bbbbbbbbbbb\bin\Debug\AWSSDK.exe", but it didn't exist.
          For SearchPath "{TargetFrameworkDirectory}".
          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\AWSSDK.exe", but it didn't exist.
          For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}".
          Considered "C:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\AWSSDK.exe", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\AWSSDK.exe", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v4.0\AWSSDK.dll", but it didn't exist.
          ...
  Required by "bbbbbbbb\bin\Debug\xxxxxxxxx.dll".
  Found related file "C:\Program Files (x86)\AWS SDK for .NET\bin\AWSSDK.xml".
  This reference is not "CopyLocal" because it's registered in the GAC.

Это продолжается, по крайней мере, еще для сотен путей.

Ссылка на AWSSDKнашей основной библиотекой, которая выступает для него как фасад, каждый другой проект, который ссылается на наш фасад, затем повторяет эти сообщения .На фасаде есть библиотека, на которую ссылается Copy Local: True, но, похоже, она находится в GAC и не идет с нашими папками dll в bin.

Существует множество других зависимостей, выводящих те же сообщения, не только этоодин.

Он находит это в конце концов, но я не могу себе представить, что это хорошо во время поиска жесткого диска и, вероятно, отрицательно влияет на время сборки.

Поиск в Google это не получилосьлюбая релевантная информация.

Редактировать: Хорошо, я сузил проблемы медленной сборки в основном с интеграцией Visual WebGui в Visual Studio.Я разместил свои выводы здесь: http://visualwebgui.com/Developers/Forums/tabid/364/forumid/56/postid/50540/scope/posts/Default.aspx

Тем не менее, было бы интересно узнать, как помочь MSBuild не учитывать такое количество путей и быстрее находить вещи.Тем не менее, SSD очень помогает.

1 Ответ

0 голосов
/ 06 октября 2011

У меня похожая проблема с моими проектами.Не уверен, поможет ли это вам, но вы можете попробовать.Прочитайте мое обновление в нижней части моего вопроса здесь: Публикация моего веб-приложения может занять много времени из-за .suo файла

...