Visual Studio hangs constantly during build

65,830

Solution 1

Had a similar issue, VS would hang for 45 or so seconds then build for 4 seconds and complete. The 45 seconds of hang would not produce any output to GUI and VS would hang.

Using ProcMon I could see 3 million+ file operations on the /packages/ folder via devenv.exe when I would build this project (and would continue for some time after)!! The first steps of the build you can see that it was checking EVERY PACKAGE to see if it needed to do a package restore (it did not).

Since I tend to blame NuGet for everything, I disabled NuGet Package Restore "allow NuGet to download missing packages" checkbox under Visual Studio -> Options -> Nuget Package Manager -> General. To my delight, the build was very fast. 5 seconds total!

Turns out that we had enable package restore on build enabled (I think this is on by default now in VS) AND we also had the packages checked into source control. It seems this causes TFS to thrash in some way... Checking for restoring packages must trigger TFS to do some source control operation checks.

FYI this was VS2013 UPDATE 4 - Nuget version: 2.8.50926.663, on a sln with NumberOfProjects = 38, but I could recreate this hang just building a single csproj with 2 dependencies.

Update:

Localhost "Rebuild All" on Sln with SccNumberOfProjects = 53 was taking 7:05 with 2 minutes of visual studio frozen / unresponsive

  • down to 4:14 on a 2 core i5 with no freezing
  • down to 2:44 on a 4 core i7

Also: This was on a machine with various file watcher security tools, likely not adding any speed to this whole process... and possibly to blame.

Update in 2021: If you are looking for a paradigm shift, the new SDK style csproj format (see migration tool) + nuget PackageReference makes updates almost instant (< 20 SECONDS for same projects in scenarios above) - highly recommend you upgrade any legacy projects. ** Known incompatibility - website package references do not support static file references via nuget ( checkout LibMan)

Solution 2

I have seen this happen on large projects when MSBuild is running with the diagnostic switch turned on. In Visual Studio, go to Tools / Options / Projects & Solutions / Build And Run, then check the MSBuild project build output verbosity value. If its not set to Minimal, try setting to minimal and see if your builds are able to complete.

Solution 3

In my case setting "maximum number of parallel project builds" to 1 kinda helped (i.e. building a project from clean state causes 1 min freeze followed by normal build and every subsequent build works fine).

Aforementioned setting can be set in Tool -> Options -> Projects and Solutions -> Build and Run.

Solution 4

Seems like running Visual Studio as Administrator solved the problem for me! (For always running a program as Administrator see How to Run Visual Studio as Administrator by default)

Solution 5

I did not try any of the above solution as by the time I tried my approach - all was well again.

My steps are as following:

  1. Close VS
  2. Delete the .vs folder
  3. Open my solution
  4. Clean Solution OK
  5. Build Solution OK
  6. Optional Rebuild OK
Share:
65,830
bwerks
Author by

bwerks

Updated on July 05, 2022

Comments

  • bwerks
    bwerks almost 2 years

    Probably between 25 and 50% of the times I build my solution, I see this:

    "The operation you requested is taking longer than expected to complete. This dialog will close when the action completes."

    I hate this window in ways I can't describe. It never resolves, the Cancel button is never enabled, and the only way to remedy it is to kill the devenv process and load up my entire solution again, knowing full well that I've fixed nothing and I'm equally liable to see the same thing when I attempt my build.

    My solution is about 60 projects in total, which are mostly C# class libraries, with a few each of web applications, web services, and console applications. However, the problem persists even when building one slice of the codebase with the majority (50) of the projects unloaded.

    My problem is that the output windows doesn't tell me anything at the point at which it freezes, and I don't know how else to determine the cause of this lockup. If I were to guess, I would assume that it's a deadlock in the filesystem or something, but I don't know how to go about proving this--much less how to prevent it.

    What can I do to diagnose and eliminate this from my solution so that I never see it again? In general, how can I diagnose problems that occur during a build?

  • bwerks
    bwerks about 10 years
    My modeling projects actually fail my build constantly in 2012, but in those cases with explicit errors citing something related to dgml files. I wouldn't be at all surprised to learn that general flakiness in Modeling project MSBuild was to blame for these other symptoms too.
  • David Peters
    David Peters almost 10 years
    This was the answer for me. Our primary solution has about 25 projects along with the dreaded Modelling project. We had it disabled in Debug configuration but once it got (inadvertently) re-enabled I ran into many many IDE hangups while building the entire solution. And yeah, neither the build output nor the /log switch helped at all.
  • JohnOpincar
    JohnOpincar over 8 years
    Didn't work for me. Still 20 seconds of invisible churn to do a 1 second build.
  • felickz
    felickz over 8 years
    @JohnOpincar I would suggest using procmon to check if you are getting a high amount of disk activity or access issues that maybe will help understand what is slowing you down
  • makhdumi
    makhdumi over 8 years
    For clarification, "EVERY PACKAGE" here means every single package file you have in `$(SolutionDir)\packages`, even if you aren't using them (e.g. the tons of old versions I had were still being read!). I think @felickz is quite right in blaming NuGet for everything. Note that turning the option off in VS2015 will not apply if you have a .nugets solution folder from older versions of VS (so many reasons to hate NuGet).
  • Anton  Papin
    Anton Papin almost 8 years
    Could you please specify the path to the Nuget option for VS2012? Because I somehow miss it in the Tools menu.
  • felickz
    felickz almost 8 years
    @AntonPapin try here
  • Chris Gillum
    Chris Gillum over 7 years
    This resolved build hangs for me with VS2015 as well.
  • Sara
    Sara over 7 years
    We generally avoid adding packages folder to TFS. If added, we leave it there for emergency GETs and Cloak it by default, so that it is disconnected from the local folder
  • felickz
    felickz over 7 years
    @sapbucket love you too :) ... and most of all you should love sys internals process monitor tool :)
  • JDR
    JDR almost 7 years
    You Sir, are a genius!
  • David Makogon
    David Makogon almost 7 years
    You don't actually need to comment. Just upvote that particular answer, since it's TL;DR same as what you said. And you have enough rep to upvote.
  • IcyBrk
    IcyBrk about 5 years
    it works for me, it looks Resharper problem, thank you for sharing.
  • user31389
    user31389 about 5 years
    Note: it will delete any user data, including settings and extensions.
  • Mike Nakis
    Mike Nakis almost 5 years
    It did not entirely wipe out my settings, (I still have my custom syntax coloring and keyboard shortcuts,) but it did reset the window layout, the theme, and all my extensions are gone. And it did not fix the issue.
  • Chad
    Chad over 4 years
    The link is now busted yet I'm still experiencing this issue in VS2017. Microsoft Connect has been retired. I don't know exactly what a modeling project is, but this build issue is happening for me in a relatively modest, single-project solution that only I have worked on. No clue what's wrong or how to fix this unfortunately. :\
  • Chad
    Chad over 4 years
    This is what my setting has been set to but I'm still experiencing this build hanging issue on VS2017.
  • Dmitry
    Dmitry over 3 years
    Fixed my issue in VS 2019.
  • Jay
    Jay over 3 years
    This has resolved VS2019 hangs for me. Build times had slowed to a crawl since I had turned this setting on. But I never realized this was the cause. Now I got my 5 second build & run times back again. Thanks!
  • Hunter-Orionnoir
    Hunter-Orionnoir over 3 years
    VS 2019, can't build solution with a verbosity value above minimum. but each project builds on its own with no issue.
  • Chetan Motamarri
    Chetan Motamarri about 3 years
    Fixed my issue. Awesome.
  • Hossein Ebrahimi
    Hossein Ebrahimi about 3 years
    Looks like logging too much stuff to the output window was causing my VS to freeze. This made my builds way faster.
  • Dylan Nicholson
    Dylan Nicholson almost 3 years
    Pretty sure this was my problem too, as I do remember changing to Detailed it not long ago now, and since then had noticed MSVC was freezing up a lot during builds, for various types of project.
  • Mark
    Mark about 2 years
    This was an immediate relief. Thanks. Lets hope its a 1 time only fix!