Visual Studio popup: “the operation could not be c

2019-01-10 03:18发布

问题:

When I try to open a project, local or on a Team Foundation Server (TFS), I get a modal window telling me that:

The operation could not be completed: Unspecified error

Or the same message, but with "Class not defined.." instead of "Unspecified error".

These errors started happening earlier today when I tried to check in some of my work to the team foundation server. I have tried using Visual Studio 2008 on the same computer, but I still get the same error. I've also googled for it but none of the solutions seems to help me.

I have installed the latest updates from Windows Update as well.

Any ideas?

回答1:

Have you tried to delete the Your_Solution_FileName.suo file?

The .suo file should be in the same folder as your .sln file, or in the .vs folder for newer versions of Visual Studio. The .vs folder might be hidden.


Update for Visual Studio 2017
In VS 2017 the .suo files are located in a different folder: you can find the .suo file in YourSolutionFolder\.vs\YourSolutionName\v15\.suo

The .vs folder is hidden, and the .suo files is a file without name, with just the .suo extension.


 
Explanation

The .suo file contain various information like the opened files list, and some preferences that are not saved in the solution file (like the starting project) and other things.

Normally you can delete the .suo file without problems. You might have to set the StartUp Project for your solution afterwards.

Just to stay on the safe way, you can rename the .suo file, and then retry to start the solution, to see if this help.

In my experience sometime VS crash on start because there is an error in some source code, and due to that error VS can't compile the code, and then crash because without compiled code it's unable to show form in design mode. In this case, deleting the .suo file will solve the situation because it reset the open files list, so the solution can start up without opening/showing any files.


When deleting the .suo file doesn't works
Here's a list of other things you can try when deleting the .suo file doesn't resolve the issue:

  • Restart the computer
  • Clean Windows temp folder
  • Clean the solution from the IDE (Menu\Build\Clean Solution)
  • Clean the solution manually (delete the compiled DLL/EXE in the /bin/ folder and empty the temporary files that VS create during the build process in the /obj/ folder (each project that compose the solution has these folders, so clean them all))
  • Try to open each single project that compose the solution 1-by-1 and build it, to understand which is the specific project that generate the issue
  • Understand what is the change/edit/modification that triggered the error, and undo it (source control tool can help...)
  • If you have custom controls: check the code in the constructor. The VS IDE will call the constructor of your custom controls even at design time, and weird things can happen (at design time some properties dont works, your connection string probably isn't populated...)

As a last resort...

  • Try to install any VS update
  • Try to disable VS extensions (if you installed any...)
  • Try to update any external DLL/Control referenced in your solution
  • Try to update Windows


回答2:

Sometimes it is just a matter of closing Visual Studio 2015 and then open again.

Update: Visual Studio 2017 apparently as well.

I have had this happen on a few machines.

This does happen

"Have you tried to delete the "Your_Solution_FileName.suo" file?"

Also computer crashing like e.g. power outage etc...

Applies to Update 2 and Update 3 as well as fresh base without any updates...



回答3:

VS 2015 -> Deleting all the files in the ComponentModelCache worked for me:

C:\Users\**username**\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache



回答4:

I ran into this same problem but deleting the .suo file did not help. The only way I could get the project to load was by deleting the "Your_Project_FileName.csproj.user" file.

--

I ran into this problem again a few months later but this time deleting the "Your_Project_FileName.csproj.user" file didn't help like it did last time. I finally managed to track it down to an IIS Express issue. I removed the site from my applicationhost.config and let Visual Studio recreate it, this allowed the project to finally be loaded.



回答5:

For me, this issue was being caused by conflicting <site> configurations in the following file.

C:\Users\smunro\Documents\IISExpress\config\applicationhost.config

I edited this file to remove all of the site elements within the following element. You might want to be a little more selective and try to identify the site that is causing the conflict and remove just that.

<configuration><system.applicationHost><sites>

Note that I left the <siteDefaults>, <applicationDefaults> and <virtualDirectoryDefaults> elements there.

When I reloaded the project, a new <site> element was created automatically.



回答6:

Make sure your Output Window is visible before hitting the F5 button. If you have your Output Window maximized, occasionally Visual Studio does not re-open the Output Window when you restart it.

Simple fix: 1. Restart Visual Studio 2. BEFORE building a project, use View->Output Window

Now when you build, it should work.

(I'm pretty sure deleting .suo and .user files only works because it resets Visual Studio to its default layout, which ensures the Output Window is visible.)



回答7:

Run eventvwr from the command line to see if it has recorded any Application errors.

This might give you an actual error message that is more useful.



回答8:

I had a similar problem on opening Razor Views

  • I logged on to my Azure account which was asking to re-enter my credntials.
  • Restart VS 2015 Update 1


回答9:

I had same error. I couldn't open any class and component of my solution. I deleted the ComponentModelCache and tested any other solutions.. but no result. Finally it helped me: Just CLOSE YOUR VISUAL STUDIO AND AGAIN OPEN IT!



回答10:

I had to remove a webproject. There was an old referencing DLL file inside, and I had to clean that webproject, and then it worked.



回答11:

I removed an old project from the solution, after that the error occurred. I had to open the .sln file in notepad and delete the .dll reference tot he old project that I removed. After that it worked.



回答12:

Solution: I was getting this dialogue when trying to build/rebuild/clean my .sln. To fix it I needed to stop the IIS site bound to the application and restart visual studio. (Then start your site again).

How I discovered the cause: Seems this is a pretty generic message for a wide range of issues, I ended up tracking down my particular issue to a few locked files by IIS with the event logs.

The solutions for deleting all sites are kind of a "Nuke it from orbit" approach which should be used as a last resort.



回答13:

This still applies to Windows 2017 .. yes, you can close Visual Studio and start again. But why does this problem exists - and why has it not been fixed yet?!

Every time this happens (and it happens a lot), it takes focus away from just producing code .. and adds to frustration and anger .. which lead to hate .. which again leads to suffering .. see where I am going?

Microsoft, stop leading us to the path of the dark side! Fix these annoyances once for all .. and restore peace to the galaxy!



回答14:

"The operation could not be completed" error can also be caused by a C++ project referencing another project that no longer exists in the solution.

Normally, when you remove a project from a solution, Visual Studio removes any references to it from other projects in the solution.

In my case, however, I was sharing projects between solutions hence a bad project reference managed to sneak in, and deleting the bad references fixed the error.

Using Visual Studio 2012.



回答15:

I think StyleCop is the reason of the this issue. So,

  1. Close VS.
  2. I removed all StyleCop.Settings and StyleCop.Cache files in all solution projects.
  3. I removed also all projects *.csproj.user file.
  4. Restart VS.


回答16:

Restarting Visual Studio solved my problem :)



回答17:

No more .SUO files, but deleting .user files works. FYI: I am debugging Silverlight project



回答18:

If you are using Visual studio 2015 and working on ASP.NET, create a new website, copy the previous files into the new site and build your site. Your old project is still referencing some old startup parameters.



回答19:

While working on VB.Net projects in Visual Studio 2005, I have faced this issue many times. Usually, disabling the 'Enable the Visual Studio hosting process' option in the application's debug properties solves the issue for me. Usually, when the hosting process is enabled, calls to certain APIs can be affected.

To un-check this option, you need to follow the steps below:

  • Right click on your project in the Solution Explorer
  • Select properties
  • Under Debug tab, you would find a check box option for Enable the Visual Studio hosting process. Un-check this option.
  • Save your changes


回答20:

Worked for me after I closed Visual Studio (2015 Community Edition), opened it and opened project again.Had Happened to me because I was using this project as a dependency in another project and it was opened in another instance but the changes were not imitated.



回答21:

For this problem, I resolved it by deleting the .user file which contains the Visual Studio Project User Options. This File can be found in the same place where your .sln file is located. Also, after deleting this file from the project make sure to reload your solution in order for it to take effect.



回答22:

Go to Run and type "inetmgr", i.e IIS is opened and in the right corner Action window, select option change ".NET Framework version". Change it.

After that, reinstall your Visual studio 2010. It works on my computer, and that's why sharing.



回答23:

For me it was because I'd added an entry to bind the site in IISExpress to a specific IP address, and my IP address had changed. I got a clue from the event log.

Hope this helps someone!



回答24:

I was upgrading to .NET4.6 from a 3rd party app (unity3d). I would get this message when I tried to reload the solution when it wouldn't load on startup. My solution was right clicking the solution and selecting "install missing features" which prompted me to download what I needed. The download on the popup didn't work so I just installed the .NET targeting pack for what I was on (4.6) and this fixed it.



回答25:

I deleted all .suo and .user files and restarted VS 2008. But it didn't worked for me. The following steps worked for me.

Open project file (.csproj) in notepad.
Removed all configurations from <Configurations></COnfigurations> tag.
Then add one by one configuration and reload project in VS.
Build the project or view project properties.


回答26:

For Visual C++ projects, this can be caused by an improperly formatted vcsproj.filters file.

In my case, someone had performed a manual branch merge and didn't merge the filters file correctly. Visual Studio still loaded and built the file without any warnings, but would give the 'unspecified error' warning whenever trying to add or remove files from the project.

Scan your vcsproj.filters file for any duplicate entries or lines that look like this and remove them. Close and reopen the project.

<ClInclude Include="..\..\path\to\sourcefile.h" />

Visual Studio Enterprise 2017



回答27:

In my case, 'Silverlight 5 SDK' was missing and so my silverlight projects are not getting loaded. While trying to reload project it shows “the operation could not be completed” message. Once i installed, problem is solved.



回答28:

Restart the visual studio as Admin will work on in many cases.



回答29:

In our, the problem appeared after making changes in Debug -> myProject Properties -> Web, specifically changing the project URL and then closing VS. Upon reopening, VS had trouble parsing the new URL and so threw the error. Unfortunately, further configuration through the VS UI was not possible since the project won't load.

Since the file configuration changes are persisted in the myProject.csproj.user file, which lives in the project's root folder, the problem was easy to correct by simply removing the myProject.csproj.user file. At that point the project would load and the user file was then regenerated when the project was next run in debug mode.

Note, the project URL in the regenerated file had to be changed from the default http://localhost:58995 to the original https://localhost:44302 before the entire application could be accessed since we have the app locked down under SSL. Your ports may be different. This was done through VS under Debug -> myProject Properties -> Web after running the project.