ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio displaying errors even if projects build

I have a problem with Visual Studio on a C# solution. It displays totally random errors, but the projects build. Right now, I have 33 files with errors, and I can see red squiggly lines in all of them.

I tried cleaning / rebuilding the solution, closing Visual Studio and even restarting my computer. I can modify .cs files and I see the changes in the solution.

Does anyone have an idea about why it does that?

Do you have ReSharper or any other addon like this installed? They can cause red squiggly lines too.
Try deleting the bin and obj folders from each project.
Errors or warnings? If project builds then it means that these are warnings. Disable all the addons and see how it goes.
We have the same issue with 2 of our machines on VS 2013 RC candidate. No Resharper installed though. The delemma here is that even though it builds without issues, no intellisense will work because it cannot 'resolve' namespaces and objects. Really weird. Works on 5 other machines perfectly.
Unresolved conflicts in Team Foundation Server can also be a source of this problem. Getting the latest version may report that it is successful and all files updated, but that's not always true. If you go to Team Explorer > Pending Changes > Actions drop-down > Resolve Conflicts and click "Get All Conflicts" it should show you if there are any unresolved conflicts that you need to fix.

G
GammaOmega

If you have ReSharper, try emptying the ReSharper cache:

In menu, ReSharper > Options > Environment > General > Clear Caches

and disabling and re-enabling ReSharper:

In menu, Tools > Options > ReSharper > General > Suspend / Restore


C
Community

Clearing Resharper's cache did not help in my case, tried suspend/restore, and also Repair Resharper, using latest download off JetBrains' website - neither of these helped. This is after I tried close/reopen VS, restart my machine, repeat, Build/Rebuild and combination thereof.

It's interesting that suspending Resharper seemed to solve the problem after the 2nd restart of VS, but it was back after I enabled Resharper <-- I tried to do this sequence 2-3 times to ensure the pattern.

Anyway, I was still having issues when I found this article:

Quick tip: What to do when Visual Studio freaks out and everything is red

So I deleted the hidden .SUO file on the same folder level with solution, and it magically solved all reds.

Note - for Visual Studio 2015, the .SUO file is in .vs/[solution_name]/v14 hidden folder.


The Resharper steps didn't work for me either, but this did. Thanks!
Your solution fixed it for me, after restarting visual studio. Thanks! :)
VS2015 - I even had 1 project that wouldn't build but I could tell from the errors that it should have. I didn't have to close VS. Just closed the solution, delete .suo, and reopen the solution. Problem solved.
Still works with VS2019, thank you! The .suo file there is located at .vs/[solution_name]/v16.
VS2019, I nuked the .vs directory, it was recreated on the next build--bogus error gone.
T
TTT

tldr; Unload and reload the problem project.

When this happens to me I (used to) try closing VS and reopen it. That probably worked about half of the time. When it didn't work I would close the solution, delete the .suo file (or the entire .vs folder) and re-open the solution. So far this has always worked for me (more than 10 times in the last 6 months), but it is slightly tedious because some things get reset such as your build mode, startup project, etc.

Since it's usually just one project that's having the problem, I just tried unloading that project and reloading it, and this worked. My sample size is only 1 but it's much faster than the other two options so perhaps worth the attempt. (Update: some of my co-workers have now tried this too, and so far it's worked every time.) I suspect this works because it writes to the .suo file, and perhaps fixes the corrupted part of it that was causing the issue to begin with.

Note: this appears to work for VS 2022, 2019, 2017, and 2015.


"I just tried unloading that project and reloading it, and this worked." I feel like I'm contributing to a cargo cult, but I ended up loading and unloading (with random cleans & builds in between), and eventually struck gold. So weird. This is with VS 2017.
@ruffin - hehe. I think every answer to this question is a "cargo cult", but I believe mine is the quickest and least intrusive. ;)
Deleting the entire .vs folder did it for me in VS 2017 Community with ReSharper
Unloading and reloading worked for me in VS 2019 CE too
Deleting .vs folder worked for me in VS 2019 with no ReSharper, just plain VS. THANKS!!!
p
pixel

I cleaned solution, closed VS, reopened it, build solution, and red unresolved lines were cleaned and build succeeded.


These steps, followed exactly, worked for me. Simply cleaning and building would not work for me.
Turn it off and back on again... you think I'd know to try that by now. +1
This solved the problem! But what caused it at the first place!?
I have no idea. I find Visual Studio to be most unstable IDE I have used. It keeps hanging, crashes often, and it shows strange errors every once in a while. I have stop counting the issues to be honest.
Following these exact steps did not solve the problem for me (in VS2015).
R
Rebecca

I found that happens frequently when using Git in Visual Studio 2017, switching branches where there is dependent code changes. Even though the project will build successfully, there will remain errors in the error list.

These errors are often namespace issues and missing references, even when the library reference exists.

To resolve:

Close Visual Studio

Delete the {sln-root}.vs\SlnName\v15.suo file (hidden)

Restart Visual Studio


Thanks for this tip. It resolved an issue for us with VS 2017 (without any updates). FWIW, this happened to us after deleting and checkout a branch which had been rebased at the remote.
While this solution didn't fix my problem, I do think this issue started after I was switching branches with uncommitted changes (because I needed to apply them to another branch)
This is exactly my issue. Thank you my savior
@CularBytes Might be worth stashing changes before switching branches. git stash, switch branch, git stash pop
s
suresh t

I have tried all the 6 options, nothing worked for me. Below solution resolved my issue.

Close VS. Delete the hidden ".vs" folder next to your solution file. Restart VS and load the solution.


there seems to be a new cause for this problem, and this is the new solution to this problem. I know 3 other people that also with in days of you posting this also all of a sudden ran in to this problem.
Had to do the same as Moshi. Doesn't appear to be a .suo file when running from VS 2019. One would have thought they would have fixed this issue by now...*grumble grumble grumble*
For me fork too in vs2017
@MikeLoux Take a look at the answer from Neolisk and you'll see he pointed out that the .suo file is now in the .vs folder, so all you need to do is delete that one file, not the whole folder. Not that this is particularly satisfactory either!
Avrohom - that last bit sums it up perfectly. No, it's not very satisfactory at all. And, yes, I believe I ultimately did find the file where you and Neolisk pointed it out and have done that the few times it has reoccurred (not nearly as often, thankfully). So...that's something, I guess. :-)
2
2 revs

Here's a collection of popular answers. Upvote the OP of the answer if it helped you:

Option 1: Clean, Build and Refresh (@Mike Fuchs option)

As @Mike Fuchs mentioned, try the following operations:

In menu, Build > Clean Solution And In menu, Build > Build Solution

and select the project in question, and click on the refresh button:

https://i.stack.imgur.com/iZ1Gd.png

Option 2: Clean, Close, Restart and Build (@Pixel option)

As @Pixel mentioned, try the following sequence of operations:

Clean the solution Close Visual Studio Open Visual Studio Build solution

Option 3: Clear ReSharper cache (@GammaOmega option)

If you have ReSharper, try emptying the ReSharper cache:

In menu, ReSharper > Options > Environment > General > Clear Caches

and disabling and re-enabling ReSharper:

In menu, Tools > Options > ReSharper > General > Suspend / Restore

Option 4: Delete the .suo file (@Neolisk option)

As @Neolisk mentioned, deleting the .suo file might solve your problem. For Visual Studio 2015, the file is located in:

[Path of Solution]/.vs/[Solution Name]/v14/.suo

And for Visual Studio 2017:

[Path of Solution]/.vs/[Solution Name]/v15/.suo

Note that the .vs directory is hidden.

Option 5: Unload and Reload Project (@TTT option)

As @TTT mentioned, try unloading the project that causes problems:

In Solution Explorer, right-click on project, Unload Project.

And re-loading it

In Solution Explorer, right-click on project, Reload Project.

Option 6: Remove and add Microsoft.CSharp reference (@Guilherme option)

As @Guilherme mentioned, try removing and adding the reference to "Microsoft.CSharp" from the projects that have problems.

In Solution Explorer, expand the project, expand "References", right-click on "Microsoft.CSharp" and Remove. Then, right-click on References > Add Reference, select "Microsoft.CSharp" from the list and click OK


Option 6 did it. Had to click the @Guilherme link to upvote because it is (now?) in another question.
None of above worked for me, having over 80 projects in solution
The Resharper 'Clear Cache' did it for me in C++, Thanks.
N
NoXSaeeD

Delete the hidden file path = your solution\ .vs\ your solution Name \v15\ .suo


worked for me too. VS 2019. WPF projects kept showing errors regarding controls not existing, but ran just fine.
Ah, fixed. The green squiggly complaining was VS not ReSharper. I had a green underline in header file complaining that no definition for e.g. CheckForErrors could be found, even after completely renaming both the header decl and cpp impl (warning was still looking for CheckForErrors even though it was completely non-existent in my solution). Props ReSharper, this was VS' fault.
P
Philip C

I had a problem like this where Intellisense didn't seem to recognise the existence of one project (lots of "can't find this type", "this namespace doesn't exist", etc. errors).

Removing and re-adding the project reference in all the referencing projects would fix the issue, but the underlying cause could be fixed by editing the .proj file of the problem project.

Near the top of the "missing" project' .csproj file is an element:

<ProjectGuid>{GUID}</ProjectGuid>

and in all of the referencing projects .csproj files were project references:

<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
  <Project>{ANOTHER-GUID}</Project>
  <Name>Offending Project</Name>
</ProjectReference>

The referencing GUID didn't match the project's GUID. Replacing {GUID} above with {ANOTHER-GUID} fixed the problem without having to go through every referencing project.


This worked for me even though it was a nuget package. I made sure that the path stayed relative in the .csproj file (literally nothing changed in the TFS DIFF), but this made VS2017 STFU about the non-existent errors.
I only had to re-add a single project reference and all the problem references refreshed
None of the other solutions worked for me, this one did the trick :)
J
Jinlye

So many things that could cause it, as evidenced by the long list of answers here. Here's what fixed it for me, having tried pretty much everything else first.

Build your sulution in DEBUG mode. Then build it in RELEASE mode (it shouldn't build when it has red wavy lines, but in my case it was just warnings that should have had green wavy lines but it was getting in a muddle and giving them red wavy lines, and it built anyway even in release mode). Then build in in DEBUG mode. Spitting on your hands and turning around three times optional.

Worked for me, when nothing else did.


Wow! That worked for me too, with latest version of VS2017 v15.9.30 :D Quick & simple too :) Bless you @Jinlye
R
Romesh D. Niriella

for VS-2017, deleting .vs folder worked for me.


E
Erik

I've noticed that sometimes when switching git branches, Visual Studio (2017) will not recognize types from some files that had been added in the second branch. Deleting the .vs folder solves it, but it also trashes all your workspace settings. This trick seems to work well for me:

Solution Explorer -> Find the file with the unrecognized class in it. Click Show All Files at the top of the Solution Explorer. Right-click the file -> Exclude from project. Right-click the file again -> Include in project.

This causes Intellisense to parse the file that it missed when switching branches.


T
Technobabble

Occasionally I have to do a custom clean by going through all of the projects and manually deleting the "bin" and "obj" folders. To see them in Visual Studio, you'll have to enable hidden files and folders for each project. After this is done, rebuild the solution.


V
Vijay Hugar

Following solution worked for me

1 - Close VS

2 - Delete .vs folder

3 - Open VS

4 - Build solution


D
Daniel Nachtrub

Perhaps you try to reset your intellisense cache. I've had a similar issue in visual studio 2012 when working in a large project with many partial class definitions. Reducing the partials solved the problem partially, clearing the intellisense cache also - for a while.


you clear the cache by deleting the .suo file like other answers suggest
n
ndrwnaguib

Deleting .vs folder solved my problem.

But it also reset my solution's current settings in VS. Like, my unloaded projects in the solution were re-loaded and all the pinned and opened documents were also closed when I restarted the VS.


D
Daniel Williams

My symptoms in VS2019 were that I would build with some errors. Then I'd fix the errors, and the build would work, as shown in the Output window. But the Errors windows still showed the old errors. I could run it just fine. Closing VS2019 and reopneing fixed the issue, but only for a little while. This started happening on version 16.4.3

This solution seems to work for me:

Uncheck Tools->Option->Projects and Solutions->General->Allow parallel project initialization

I found this fix buried way down in the comments here: https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html


n
nPcomp

0 - Right click on the Solution and clean solution

1 - Close VS

2 - Delete project's .suo file

3 - Open VS

4 - Build solution


A
AperioOculus

A colleague of mine experienced this issue today. We tried many of the recommendations here and none worked except the solution described below.

Problem:

Project builds fine but Intellisense fails to recognize certain types and marks particular using statements as invalid.

Solution:

Change the 'Solutions Platform' (in VS 2017 this is the dropdown next to the Solution Configuration dropdown and has values such as x86, x64, AnyCPU, Mixed Platforms, etc.) to AnyCPU.

The platform for your project may vary, but it seems as though some references may not be valid for all platforms.


P
Piotr Golacki

In my case helped a combination of things:

deleting all old not needed files which were previously excluded from the project closing VS deleting all the bin folder contents deleting .vs folder Clean/Rebuild after that I still had some spurious errors, however the amount was significantly lower (from 200 to around 8) and the errors referred only to a resource dictionary path in Generic.xaml e.g. when I played around with the path trying to change it to a wrong one re-building then correcting it and rebuilding again, then this finally cleared all errors. It was specifically WPF project if that's relevant.


F
Fjarskiptagervitungl

For my specific case it was a service reference another developer merged into the main branch. Which was perfectly fine except syntax highlight failed to resolve the generated service class and source was all red underlined. Cleaning, rebuilding, restarting did nothing.

All I had to do was refresh the service reference and VS managed to put the pieces together behind the scenes. No changes in the source code or generated files.


K
KidCode

I've just ran into this issue after reverting a git commit that added files back into my project.

Cleaning and rebuilding the project didn't work, even if I closed VS inbetween each step.

What eventually worked, was renaming the file to something else and changing it back again. :facepalm:


C
Conor Gallagher

After trying all of the options listed I discovered yet another reason why this can happen. If somebody sent you the source code as a zip, or you downloaded a zip, Windows may have blocked all files. 2 ways to solve this:

Method 1:

Right click on the original Zip file -> Check 'Unblock' -> Click apply

Method 2:

If that's not an option, rather than opening properties on every file in the solution folder simply open power shell and unblock recursively using the following:

Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File

M
Mahfuz Morshed

first close the solution. then solution cache file delete( in location C:\Users\Documents\Visual Studio\Backup Files/project cache file) then .suo file delete then solution open and build.

I hope solve your problem


B
Brett

Had this issue at work (running VS2017). Tried all of the answers here. No joy.

The project would build just fine, but was complaining that namespaces / types couldn't be found. Red squiggles all over the place. Lots of errors in the Error List window.

My solution contained 3 projects.

Discovered that 3 of the NuGet library references for one of the projects was out of line. Consolidated the referenced library versions, and Bingo.

Hope this helps someone.

Brett.


A
Ankush Jain

Unload & reload the project fixed this problem.


B
Benjo

I've been struggling with this issue for over a year and none of these solutions helped me:

Delete .suo

Delete .vs folder

Delete any or all cache / temp folders

Delete obj / bin folders

Unload / reload project

I finally fixed this issue - I opened the vbproj/csproj file in notepad and noticed that in the ItemGroup section, there was a reference back to my main project dll. I deleted this reference, reopened my solution and the problem was fixed.


m
meJustAndrew

Sometimes if you just clean solution the errors are disappearing, but they may eventualy come back afer a while or at the next build.


T
Thorb

Ran into this issue with a single type not being recognized by Visual Studio which showed the red squiggle even though the solution built successfully. I noticed in the Solution Explorer the file did not have the expand arrow on the left which shows classes and properties on expansion.

The fix was to Exclude the file from the project and save/build which produced an expected error and then Include the file in the project and save and build.

After performing these steps Visual Studio started to recognize my type again. Looking at the diff in git it appears the issue was due to line endings not matching on the <Compile Include="..." /> line of my .csproj file.


m
m butler

in my case vs was never retaining the imported namespaces in the project properties > references

when I tried to add/check them again I couldn't and vs threw an error and when saved project vs crashed. When I reopened all the standard imported namespaces (system.data etc...) were all ticked again and it then was recognising everything without error