Reputation: 4080
I have a solution in VS2008 (C#) that contains multiple projects. I just retooled some of the .csproj files for our build process, and suddenly while coding Project B won't recognize references from Project A in the class code...think the red squiggly lines under a variable type I've created. However, building the solution generates no errors. Why's it behaving like this?
Upvotes: 20
Views: 59682
Reputation: 282
Double check that you made the classes you are referencing public. Visual Studio doesn't do it automatically when you make a new class and I sometimes forget.
Upvotes: 0
Reputation: 1245
If the other answers regarding clearing Visual Studio cache, .NET Cache, and ensuring references are valid don't work, try this one.
Based on the source, and trying this solution, I've had success. Deleting the visual studio solution cache folder
.vs
hidden folder within your solution..vs
folder.-- Source
Upvotes: 8
Reputation: 187
I've removed the reference from the project which classes were not recognized and re-added this reference. Everything got fixed.
Upvotes: 2
Reputation: 5642
When VS starts acting strangely wonky, and I can't find a logical fix, I kill Visual Studio, and manually do a 'clean' by deleting all of the bin/obj folders.
I have a batch file that does this for me quicker than I could do it manually. I place this in my solution directory, and all my projects are found in subdirectories.
rem "%%~dpa" says: Give me the (d)drive and (p)path of the (a, %%a) file.
rem However, our dir /a:d will result in only listing folders...
rem The final "%%a" is just appending the 'file' (diretory name) to the
rem drive-and-path string
for /f %%a in ('dir /b /a:d *.*') do call :process "%%~dpa%%a"
pause
goto :eof
:process
echo Looking in %1
cd "%1"
if EXIST "%1\bin" (
echo Found 'bin' - it's gone now.
rd /s /q "%1\bin"
)
if EXIST "%1\obj" (
echo Found 'obj' - it's gone now.
rd /s /q "%1\obj"
)
cd ..
Upvotes: 7
Reputation: 22443
Make sure both projects are being built in the Configuration Manager
(right click on the solution and then click “Configuration Manager”)
You might also hover over the redline or just build again to see if you get anymore details. C# and VB are both pretty good at telling you why they not happy.
Upvotes: 1
Reputation: 116987
I would suggest that you clear your Visual Studio temp files - it can often get confused about project structures and require a fresh start.
First, quit out of VS completely and restart it. If the problem is still there, find your VS cache folder and delete it, and then do a rebuild.
For help finding your cache folder, check this post.
Upvotes: 30
Reputation: 67857
In your Project Properties from B, make sure Project A is checked under dependencies.
Upvotes: 4