Opening Visual Studio solution with different files open - visual-studio

I have a solution with both a client project and a server project (and a shared common project).
When I open the solution I usually run mysolution.sln from the command line. It then opens the solution with the files I had open the last time a closed Visual Studio.
Now, I like to have the solution open twice: one with focus on the server project and one with focus on client project. I think you can guess my question now :)
Is there a way I can save "this configuration of open files" and then have one for server and one for client?
I'm using VS2022 with Resharper, if that makes any difference.

Related

Visual Studio stucks at loading a project and solution needs to be reopened several times after a checkout from VCS

Here is the situation:
I checkout a new project to directory. I open a solution and it stucks at loading project XYZ.
What I see is loading window and "Loading XYZ..." on the statusbar.
The solution we made up is the following:
Open the solution (let's say its name is Solution.sln) in a notepad
Remove the problematic XYZ project
for example:
Project("{FAE04EC0-301F-11A3-BF4B-00C04F79EFBC}") = "HelloWorld.Tool.XYZ", "HelloWorld.Tool.XYZ\HelloWorld.Tool.XYZ.csproj", "{F614BEF7-B429-487D-9055-01BC9FD543EC}"
EndProject
Reopen the solution
But when there are more such problematic projects in a solution
Visual Studio stucks at the other projects. Sometimes it happens that there are a few projects to remove at once then Visual Studio starts. Then I add projects via notepad one by one repeating the proccess of reopening solution.
As you see this proccess is often very tedious and time-consuming.
Why it happens? How to solve it in a simpler manner?
I am using Visual Studio 2010 with Resharper
EDIT: Suspending Resharper didn't help

Visual Studio 2010 closes open files after git pull

We're using VS 2010 and GIT. Occasionally, after a git pull, all open files will close--seems like this happens when new files are added to the project. I can't seem to find a related file that shouldn't be in version control. Has anyone else had this issue?
I figured out a solution to this. It's a little annoying but it works around the tedious task of re-opening all of your tabs/files in VS.
When you get the VS warning that the Project has been modified outside of VS it asks if you want to reload the project. Choose "Ignore."
Next, save all your work, close VS and reopen your solution or project. All the files/tabs you had open previously will be open again and the updates to the project file, obviously, will also be loaded.
Another caveat to this is you lose all your "Undo" potential in your open files.
When a .vcproj file gets touched (not necessarily changed), all its opened files are closed and never reopened. Might this be what you are experiencing?
Check out
WorkspaceReloder.
It's a visual studio add in that will keep your files open upon reloading. It's tremendously useful and will keep you from having to go through those ridiculous steps. Productivity++.

How can I close all the document windows in Visual Studio from an external script?

I'm creating the software for a course. What with exercise start points and worked solutions and both C# and VB I have about 100 VS2010 solutions.
During development I reopen these as neccessary and they get a lot of tweaking. When I'm done I want to leave the solutions with NO documents open. That way when the student opens the solution it's a very clean view, not littered with the files I was last looking at.
Up to VS2008 this was was easy. I simply deleted all the *.suo files - that seems to be where VS stores the window layout. When a solution was opened VS happily created a new SUO file. This approach was suggested in Close all files in visual studio on exit
With VS2010 this causes an annoying dialog...
Security warning for You should only open projects from a trustworthy source
This is completely reproducible.
Open one of the solutions, for which there is no SUO file
VS gives a trust warning. User accepts it. SUO file is created.
Subsequent opening of the SLN don’t report trust problems.
Delete the SUO file.
Reopen the SLN and the trust errors reoccurs.
How can I achieve my ambition of having VS open up with no document windows open, and no security dialog? I really want it to be automated from OUTSIDE VS. Opening all of 100 solutions and manually closing the windows is NOT what I'm looking for.
It's pretty easy to create a macro that will close all windows, but I cannot see a way of starting VS from the command line and getting it to run a macro on startup.
This sounds like you downloaded the project file from an untrusted source. Scott Hanselman wrote a blog post about it. The short story is that if you go to the properties page for the project file (windows explorer -> right click project file -> properties), you can unblock the file with the button at the bottom:

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

Removing SourceSafe Integration from Visual Studio 6

Recently, the SourceSafe integration into visual studio has started to perform badly because we have moved, and the SourceSafe "server" is located across a VPN which goes across a slow connection. This has made loading large projects in visual c++ 6 take 5+ minutes because it has to talk to the "server" for each project. Also, there are some bugs that are dangerous in the integration (the auto-checkout of certain shared projects will do a get latest on the wrong version of a branched file). This has caused me to want to disable the SourceSafe integration, however I have not found any menu option or uninstall option. Google has reported a few registry tweaks, but none of them seemed to work.
Does anyone know of an easy way to remove the SourceSafe integration from Visual C++ 6, without uninstalling SourceSafe altogether?
From http://support.microsoft.com/kb/236399:
Source code control software, such as
Microsoft Visual SourceSafe, that
integrates with the Visual C++
integrated development environment
(IDE) can be configured to connect to
a source code server during Visual C++
startup. In such cases, a loss in
network connectivity will cause Visual
C++ to start up very slowly. To
improve performance, either ensure
proper network connectivity or disable
the source code control software
integration with the Visual C++ IDE.
To do the latter, quit Visual C++, and
then use RegEdit.Exe to locate the
following registry key and set its
Disabled value to (DWORD) 0x00000001:
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Source Control\Disabled
I followed this and it seemed to work upon trying it again. I think I might've had a second copy of visual studio running when I did it the first time.
Open the .dsp and .dsw file in a text editor, and remove the respective entries from the .dsp and the .dsw file. Also, delete the .scc files.
There is a Microsoft Knowledge Base article about how to do exactly this.
The gist of it is that you must manually edit the .dsw and .dsp files in a text editor, and remove a few other files lying around. See the article for more details.
If the solutions mentioned above fail for you do this:
Rename folder: \Program Files\Microsoft\%vs%\Common7\IDE\VS SCC
VS will complain once about plug in not being there and you say "Yes" to ignore it in perpetuity.
All files “got latest,” “read only,” and edited in VS, will make VS complain and offer to “override”, which works fine for me.
What do you gain:
Open VSS-linked solutions quickly without VS matching contents to VSS server.
Open VSS-linked solutions and EDIT the files at will without being bogged down in “check out” bs.
This makes using other distributed source control system on top of project tree with VSS bindings painless.
VSS client still works by itself just fine, including diff, checkout, checkin.
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Source Control\Disabled
I followed this and it seemed to work upon trying it again. I think I might've had a second copy of visual studio running when I did it the first time.
Its working .....Thanks Ajay
What has worked for us, and is much easier, requires no registry/file editing by hand, and safer I think is this:
1) Exit Visual Studio completely.
2) Disconnect from the network (unplug the cable and turn off wireless, or disable the network adapters)
3) Open the VS6 workspace (DSW) for the project. When it starts up it will find it cannot connect with the VSS database it wants to and ask you about that...
4) Tell VS to never try to reconnect to the source control db in the future.
5) Done... VS does all the changes to THAT WORKSPACE/PROJECT setup for you. You are not disconnecting VS from source control in general (like a registry edit would do) and your not manually editing files.

Resources