I really appreciate Visual Studio’s “Go Offline” with TFS feature. Saves me a bunch of headache when I’m disconnected. And for the most part it works great.

Yesterday, I discovered that somehow, the “Go Online” had not picked up all my changes. Why?

It seems that the “Go Online” logic traverses the solution tree to find files that it should consider. That’s all well and good, but I have some files that are conditionally included in the solution. VS always seems to treat these as not part of the solution. But they are in source control and they are part of the compilation.

I edited these files while offline and then, when going online, they were skipped. Now TFS had a different copy that on my local machine. Had I not seen some strange behavior, I probably never would have caught it.

My mistake, and yes, I see that this is how the feature works, but I still stumbled on this one.