How to work offline with TFS - visual-studio

Our TFS server has some temporary connectivity issues right now, and as such VS has gone unresponsive, leaving 50+ developers unable to work!
Is it possible to switch TFS into an offline mode in the event of such an issue?

See this reference for information on how to bind/unbind your solution or project from source control. NOTE: this doesn't apply if you are using GIT and may not apply to versions later than VS2008.
Quoting from the reference:
To disconnect a solution or project
from source control
In Visual Studio, open Solution
Explorer and select the item(s) to
disconnect.
On the File menu, click Source
Control, then Change Source Control.
In the Change Source Control dialog
box, click Disconnect.
Click OK.

The 'Go Offline' extension adds a button to the Source Control menu.
https://visualstudiogallery.msdn.microsoft.com/6e54271c-2c4e-4911-a1b4-a65a588ae138

plundberg: The "disconnect" button is only available for the TFS provider starting in VS 2008. Even then, I'm not sure if it's officially supported. The recommended way to use the Go Offline feature is to [re]open the solution.
Martin Pritchard: if you get stuck mid-operation, you can force VS to timeout by pulling the network plug (literally) or running ipconfig /release.
Once you're marked offline, here's a step by step guide to working in that mode: http://teamfoundation.blogspot.com/2007/12/offline-and-back-again-in-vs2008.html
More detailed info on tweaking the behind-the-scenes behavior:
http://blogs.msdn.com/benryan/archive/2007/12/12/when-and-how-does-my-solution-go-offline.aspx
http://blogs.msdn.com/benryan/archive/2007/12/12/how-to-make-tfs-offline-strictly-solution-based.aspx

There are couple of little visual studio extensions for this purpose:
For VS2010 & TFS 2010, try this
For VS2012 & TFS 2010, use this
In case of TFS 2012, looks like there is no need for 'Go offline' extensions. I read something about a new feature called local workspace for the similar purpose.
Alternatively I had good success with Git-TF. All the goodness of git and when you are ready, you can push it to TFS.

Depending on which tool windows you have open, VS may or may not try to hit the team server automatically when it starts up.
For best results try this:
Close all instances of visual studio
Open an empty visual studio (no project/solution)
See which windows are opened by default, if source control explorer or team explorer or any other windows that use team are opened (and activated) by default, close them or switch them to a background tab.
Close visual studio
You should notice now that you can start visual studio without it trying to hit the TFS server.
I know its just an aside to your problem, but I hope you find this helpful!

If you have a solution open, and TFS is down, you might have trouble going into offline mode. If you close and reopen your solution, a nice little dialog will appear asking you if you want to Go Offline.
Alternatively if you don't want to close/reopen the solution, (as suggested by Bernie) you can install the TFS Go-Offline plugin, then click:
TEAM -> Go Offline

Simply, change the root folder name for your solution in your local machine, it will disconnect automatically.

I just wanted to include a link to a resolution to an issue I was having with VS2008 and TFS08.
I accidently opened my solution without being connected to my network and was not able to get it "back the way it was" and had to rebind every time I openned.
I found the solution here;
http://www.fkollmann.de/v2/post/Visual-Studio-2008-refuses-to-bind-to-TFS-or-to-open-solution-source-controlled.aspx
Basically, you need to open the "Connect to Team Foundation Server" and then "Servers..." once there, Delete/Remove your server and re-add it. This fixed my issue.

If the code has already been checked out by the user that if offline and they have the latest version on their local hd, then they just need to browse to the solution location and open the solution by double clicking sln file. The solution will open in disconnected mode.

Related

Visual Studio change Source Control from TFS back to VSS

Using Visual Studio 2015 I was previously working on a project which is in an old Visual Source Safe repository.
I needed to connect to a project in Visual Studio Online (Team Foundation Server) and so in Tools -> Options -> Source Control -> Plug In Selection I choose Team Foundation Server and successfully connected to the Visual Studio Online repository pulled down the code, worked on it and checked it in.
The problem comes when I need to access the project in VSS again. I tried to reverse the process. Setting the Plug In Selection back to Visual Source Safe. However even when I don't have a solution open the 'Team Explorer' is still connected to Visual Studio online and I can't connect back to VSS. When I open my VSS based project it is STILL connected to Visual Studio Online as well.
I don't have the option of moving the older project out of VSS just now (not my choice, I'm hoping it's going to change soon but not a choice I can make), and need to carry on working on it. I basically need to disconnect VS from VSO and can't, and can't connect to anything else instead.
Has anyone come across this problem and a solution to it? I've searched but only find answers about disconnecting a project from it's current source control, I don't want to do that, I want each project to remain with it's source control, but I need to be able to choose which source control VS is connected to.
Well I've found AN answer eventually, through trial and error... it's a bit of a faff.
First thing is I forgot that VSS doesn't use the Team Explorer. When I opened the VSS based project the project HAD actually connected to VSS, but the Team Explorer wasn't reflecting that. So I could carry on working on my VSS based project and just ignore Team Explorer.
However I still wanted to disconnect, because it had only been a one-off requirement to connect to that Visual Studio Online project.
What I did was...
1. Log out of my Microsoft account from Visual Studio.
2. Close and re-open Visual Studio.
3. Click close on the prompt to log in to my Microsoft account.
4. THEN the option to delete the connection was available in Team Explorer. Pretty sure it hadn't been there before.
5. Log back in to my Microsoft account.
Unfortunately I had also reset my Microsoft Account password in the trial and error, which I now think was unnecessary. I was just trying to force VS to stop connecting to that repository.
As Team Explorer is not use with VSS you may want to use "Team | Disconnect from TFS" to disconnect. Then switch your control...
Note: As VSS as been completely unsupported for many years you are incurring a significant business risk by staying with it. Have you raised this risk with your executive team? Do they know that their organisational asset is at risk?

configuring visual studio 2012 & team foundation

I just started working in Visual Studio 2012 in a project group. We are using team foundation server to share our code. I have a couple of problems here I was hoping someone could help me solve them.
I have succesfully connected to our TFS-server and checked out the project, but for some reason when I check my solution explorer it says "0 solutions". I dont know if this is a problem but I feel like it has something to do with my other problems.
I can't, for some reason, press the play button to start debug, also in the menu the debug option is greyed out, 5 obv doesent work either. And in the "project" tab I dont have the option to set my project as startup project wich would make it so that I can debug it.
Check your Source Control Explorer. There you can navigate the code in TFS. Make sure there are files checked in to this location. If not, you will first have to add your project to TFS.
If there are files in TFS, map the files to a location on your harddrive. Then open the solution file by double clicking it in your Solution Explorer.
The MSDN has a nice walktrough: Set Up Team Foundation Server for Version Control
It turns out the local path has to be in the visual studidio\projects folder... re-mapped it and works as intended. No need to answer this anymore, thanks for your suggestions though :)

How to switch to TFS automatically when solution is loaded?

I have an annoying problem with source control plugins... I'm using VS2012 and I have some projects on TFS and others on SVN (using AnkhSVN).
When I open a SVN solution, VS seamlessly switches to AnkhSVN as the source control plugin, which is fine. But then, when I open a TFS solution, it doesn't switch back to TFS... the most annoying effect is that automatic checkout doesn't work. To fix it, I have to unload the solution, changes the source control plugin to TFS, and reload the solution.
Is this a known problem? Is there a way to fix it?
There is not a good option that I can think of. That part of Visual Studio is designed to work only with one Source Control system at a time and I understand your pain.
I guess my first question is why you need both, but I guess there is some need somewhere. You can see folks with the same problem:
How to quickly switch source control providers in Visual Studio 2010?
Option 1: Virtualisation
As I have a machine capable of running VM's (Windows 8 with Hyper-V) I would have two VM's with one configured for TFS and the other configured for SVN. Not elegant, but it would allow you to switch.
Option 2: Regedit
You can change the setting in the registry.
HOW TO: Change Source Control Providers If Two or More MSSCCI-Compliant Providers Are Installed
So you could have a "key" file for each setting stored on your desktop and:
Close Visual Studio
Run registery key
Open Solution
While ugly and requires remembering it would be the best option locally.
Conclusion
There is no good answer but I do think that the two options above will get you there.

Visual Studio & Tfs: Updating Source Control Status

When I launch a project on Visual Studio 2010, I have to wait 10 minutes while the "Updating Source Control Status" finishes at the bottom of the screen. Until this happens, Visual Studio is completely frozen.
I am connected via VPN, and I have enabled domain lookup for my tfs host. (http://www.codeproject.com/Questions/111260/VS-NET-2008-hangs-everytime-we-load-our-project-fr.aspx?tab=mostrecent)
I am not sure what else to do. Any ideas?
the simplest way to investigate is to enable tracing in devenv.exe (look at tf.exe.config and copy appropriate part to devenv.exe.config) and see what server calls are being made. I would recommend publishing results on msdn forum (http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol) since TFS devs are monitoring it much closely than stackoverflow.
Good luck!
If you use yourtfsserver.visualstudio.com and the site is down (for instance like it is right now due to an Azure storage disruption) VS may freeze up on you when you open a new source controlled project or randomly while your in a project even it it isn't in source control.

Getting Visual Studio to ignore source control bindings in a solution

Is there a way to tell Visual Studio 2005 to just ignore source control binding when opening a solution? I sometimes need to load a solution for which I don't have access to the source control server, but Visual Studio insists on trying to connect anyway, meaning I have to click "temporarily work offline in disconnected mode" for every project in the solution (of which there are about 20) as it loads. For some reason, it also tries to check each project out immediately after I've told it to work offline, so I have to click past that dialog box too.
As I will never need to edit anything in this solution, is there any way I can open it and have Visual Studio just ignore the fact it has source control bindings in it?
Edit: Ideally, I'd like a way to do this without having to change the project/solution files. They change fairly frequently, so I'd have to redo any changes every time there was a new version (otherwise I'd just unbind them once and it wouldn't be a problem).
Thanks for the replies so far.
The source control bindings are stored in Visual Studio solution file (.sln). For TFS for example, it contains a global section for TFS information and the solution projects added to TFS. You can edit the solution file to remove these bindings manually. I would suggest making a copy of the solution file first. However, I would recommend removing bindins via Visual Studio. Open your solution and go through the offline scenario. Then go to File/Source Control/Change Source Control (VS 2008) to bring up the UI that shows you the source control bindings in your solution. There you can manage the bindings including unbinding them. Once unbound, the next time you open the solution, VS should not have a need to access the source control.
I've been looking for a way to disable Integration between SourceSafe 2005 and Visual Studio 2008. We are forced to use SourceSafe being in a corporate environment and all. SourceSafe is fine on its own if you treat it like a baby. As soon as you try to do anything approaching useful it starts to break. God forbid you try to use the integration with Visual Studio. Being that I didn't want the "Bindings removed" so that it doesn't confuse other devs on the team I needed to be able to tell Studio to ignore the solution and project bindings and continue on it's merry way.
I followed the registry hack suggested in the following post
Removing SourceSafe Integration from Visual Studio 6
Studio did what I wanted...sort of. It removed the SourceSafe integration. However when I opened up a source controlled solution it asked me if I wanted to remove the bindings.
"the projects will be treated as not under source control"
No I don't want you to remove the bindings from the files, I want you to IGNORE them. This dialog pops up every time you open the solution/project file and there is no way around it.
My solution at the moment seems to have worked...for now.
File->Source Control->Change Source Control...->Disconnect
I hope this helps anyone else in the position of having to use SourceSafe but can't remove the bindings from the files themselves. WHY, Microsoft, WHY would you put the bindings in the files themselves?
/rant

Resources