Reloading Visual Studio Solution on branch change - visual-studio

Me and a friend are working on a Unreal project and we're using GitHub for our source control (with GitKraken).
I have created a few branches to keep work isolated. Just to test merging, etc. I created a class in my Programming branch and swapped branches just to see if the files didn't somehow go to all branches (just wanted to make sure I set up branches correctly). Luckily, the files don't go across branches.
However, I did notice in Visual Studio, the class files are still appearing in the Solution Explorer but they are not in the projects directory on my computer. I have Googled around and most people are saying about 'Reloading the solution', but I see no option to Reload the solution. I've tried re-building, compiling to see if the files go after compiling, tried tinkering with some options, including the .sln file in the commits (removed .sln from the .gitignore) and nothing seems to be working. I'm trying to work out how to stop visual studio from showing files in the solution explorer if they're not physically in the project. Just to avoid confusion when switching branches.
Any ideas?

Related

Mercurial Add On for Visual Studio not showing icons for 1 particular project

I have a peculiar problem where all but 1 of my projects are showing the Mercurial plug-ins for my solution correctly.
All the projects have been committed in my mercurial repository already.
The icons for the problematic project actually shows up correctly in another solution that includes it.
Fixes I've tried so far:
Recreate the Solution file from scratch.
Remove/Add Project again.
File compared csproj & sln files between the working and non working solutions.
I'm using Visual Studio 2015.
Has anyone come across this problem before?
It turns out I had to delete the hidden directories under the project folder that pertains to a different source control system (.svn).
It seems like the Mercurial add-on and/or Visual Studio gets confused if it sees more than 1 hidden folders under the project directory.

Visual Studio Online TFVC Source Control - Can't add solution

I have never used VSO before, and decided today to try it out for a small project I have. I added the solution to VSO with no problem, however I realized I made a dumb mistake and added the solution to the root of TFS. This isn't what I wanted, I want to add multiple projects under different folders. So I deleted the files from TFS and started over. Now when I try to add the same solution to VSO it fails, and gives me this error message:
A project DAFT.sln that you are attempting to add to source control
cannot be added because the item Publish-WebApplicationWebsite.ps1 is
already under source control at the selected location.
Bear in mind that I deleted this info and it no longer exists on VSO. I don't see the above file anywhere on VSO? What did I screw up now?

Project disappears after getting latest version

Background: I have a solution in Visual Studio 2013 with several projects that I have synced with Team Foundation Server. Myself and one other programmer are the only ones who regularly work on this solution. Two of the projects have corresponding setup projects which only I work with. We had problems with keeping the setup projects synced between our computers because sometimes it would update on his which would break mine because of file references or maybe because I am using an obfuscation tool he doesn't have. For this reason, he has cloaked the setup projects in his Source Control so that I can sync them with TFS, but he won't have to see them and to eliminate the issue stated above.
Question. Now, when I get the latest changes to the solution, the setup projects disappear out of my Solution Explorer and I have to readd them. I can go to Source Control and see these setup projects, but I can't figure out how to fix this so that it doesn't remove my setup projects when I get the latest solution version. Any ideas?
You can't have both of you opening the same solution with different projects.
When he opens the solution he will see two dead projects (the cloaked setup ones) and he is removing them from the solution. Then when you get the solution they are missing.
All developers working on a solution must get all the bits. A work around for this I to create a new solution file in the same folder as the other one. This solution only has the non-setup projects. You open the main solution and he opens the cut down version.

Tell visual studio to close the documents that have been deleted outside of the IDE

I'm working with Visual Studio 2010 Professional and use git with Git Extensions as a version control system. When I checkout a branch that involves different versions of the files which I'm working on, VS2010 prompt me with a message that says: "this file has been modified outside of the source editor. Do you want to reload it?" I click yes to all, and get the right version of the files. Until here everything goes as expected.
The problem comes when I checkout a branch that involves files to be deleted. Files that in that branch do not exist yet/anymore. If one of these is opened in the editor, it continues there and you can keep writing on it and then save it.
I know the files can't disappear from the project tree, because we're not keeping track of the project files (at least they get in Project File explorer an exclamation mark telling you that the file doesn't exist anymore). What I want is Visual Studio to close each file that no longer exist. Is there a way to do that? Or does someone have an idea to achive this workflow?
Closing and opening Visual Studio again does the trick, actually does exactly what I want.. But it would be good to avoid it.
Thank you
I think you have forgotten to include the project file vbproj or csproj in git

Howto resolve... Visual Studio Source Control notification "Projects have recently been added to this solution"

After some use Visual Studio 2008 when opening a solution that is checked into Visual Studio Team Foundation will pop up a dialog saying:
Projects have recently been added to this solution. Do you want to get them from source control?
This happens every time the solution is loaded (even if no projects have been added). The only way I have found to remove this minor annoyance is to completely rebuild the SLN file.
Has anyone found a better/simpler way?
I had this recently after we moved a number of projects in the solution. I worked out eventually, that each project actual appears in solution file multiple times each with path information! So even though the path in the main reference of the project was correct it was wrong further down the file.
So go through the .sln file and make sure the paths in all the references of each project is correct.
For instance, the first reference for one of my projects is:
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ObexPushVB", "Samples\ObjectPush\ObexPushVB\ObexPushVB.vbproj", "{E3692A59-D636-48E8-9B57-7DA80A88E517}"
EndProject
In my case the path there was correctly updated. But then we have also for that project:
SccProjectUniqueName8 = Samples\\ObjectPush\\ObexPushVB\\ObexPushVB.vbproj
SccProjectTopLevelParentUniqueName8 = InTheHand.Net.Personal.sln
SccProjectName8 = Samples/ObjectPush/ObexPushVB
SccLocalPath8 = Samples\\ObjectPush\\ObexPushVB
So all of those paths needed to be updated too! After I fixed that manually all was well. (The sample there is after the fix BTW).
Hey, this actually happened to me about 4 years ago.
First, it sounds to me like someone on your team doesn't have all the updates applied to their visual studio installation. Go around and get everyone upgraded to the latest service pack for your VS version.
Once that is done, unbind the solution, fix the file, rebind it and tell everyone to do a force get latest on your TFS project.
See
http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/c2822ef1-d5a9-4039-9d3e-498892ce70b6
http://www.nivisec.com/2008/09/vsts-projects-have-recently-been-added.html
(broken link: http://technorati.com/posts/Yadz3Mj1pxHPSJLlnUs1tL1sIwU5jXa5rNBbIAnYdvs%3D)
This message will also occur if your solution has a reference to a project whose location is outside of the solution directory, but it doesn't physically exist (i.e. you hadn't checked it out before opening the solution). VSS (or TFS) will then give you that message and clicking OK will automatically get latest on the project that's missing so your solution won't have any unloaded projects in it.
EDIT:
Reading that again confuses me. Basically you get the message if your solution has a source control binding to a project that isn't inside of the folder your solution is in, and that outside project doesn't physically exist on your machine. Clicking on OK will check the project out for you.
In my case it was a reference to a test project which has been deleted.
I noticed that when I inspected all the projects in the Solution Explorer. Our team uses solution folders so it was not normally visible and because it was a test project it didn't have any impact on the application.
After removing the project from the solution the messages is no longer shown.
I'm working with Visual Studio 2013.
For me, it happened after having modified the folder's structure of my solution (I added a sub-folder for a project directly on the source code explorer). I got rid of this boring error by removing all the projects from my solution, using the solution explorer. After that, I closed Visual Studio, manually edited the .sln file and removed the whole section :
GlobalSection(TeamFoundationVersionControl) = preSolution
To finish, I just added the projects back to the solution as "Existing projects" with solution explorer. Visual Studio will recreate by itself the removed section of the .sln file.
The same error message can occur if someone adds a project, check-in edited solution file, but don't adds project directory to source control.
To cut a long story short - this error can mean that in .sln file there's reference to .csproj file, but the .csproj itself is physically missing.
In my case I renamed a(n) (unloaded) project in VS. It correctly moved the project to a new folder and no data was lost. However the solution file still pointed to the old directory which still existed but was empty (so the project could not be actually loaded).
After deleting the project from the solution (which was no problem because the folder was allready empty) the problem was solved.
Adding the project again from the new location was no problem either.
I had this problem after moving a number of unit test projects that were under source control (VSTS) into another folder. After this whenever I opened a branch I would get the "Projects have recently been added to this solution. Do you want to get them from source control?" error.
For some reason the csproj file from the trunk wasn't under source control which meant it was missing from the branched version. I find this happens sometimes after moving source controlled projects.
To fix it I opened the original source trunk, used Source Control Explorer to add the missing file(s), then merged the trunk to the branches to copy over the missing csproj file.
After this I could open the branched versions without the warning popping up.

Resources