Our company is working with VAULT 4.1.3. We use the enhanced client for Visual Studio 2008. We experiance a lot of problems causing by the fact, that the classic client is set as the default client in Visual Studio. Even if we change the setting for the current sourcecode admin plugin to the enhanced client, next time we start Visual Studio in many (unspecific) cases the classic client is reset. It's hard to say when this problem occurs, but in many cases Visual Studio (or Vault) reports a couple of errors on opening a project which is bound using the enhanced client. The errors state that the wrong sourcecode provider is installed. I don't really understand when and why this errors occur, but they do.
So my questions are:
1) How can we set the enhanced client as the one and only default sourcecode admin plug-in (I alredy tried to set HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\SourceControlProviders, but it did not really help)?
2) How can I delete the classic client from my system (in case 1 does not work)?
How can i set the enhanced client the default provider?
Moderator: SourceGear
Re: How can i set the enhanced client the default provider?
The key here is in the bindings. What it sounds like is that your projects are bound to the Classic Client, so you can't just easily flip to the Enhanced Client.
To change the bindings, have one user unbind the entire solution though File - Source Control - Change Source Control. Then click ok and save all to disk. Then go to the Tools - Options - Source Control and have that user select the enhanced client. Then go to File - Vault Source Control - Change Vault Bindings and rebind everything. Then click ok and check everything in.
All other users should set their VS Tools - Options - Source Control to Enhanced while having nothing open. Then go to File - Vault Source Control - Open from Vault. They need to allow it to overwrite their disk so that they get the new bindings. If they had items that had needed to be checked in, then before starting anything, they should either use the Vault GUI client to check in those items or they should make a copy so that they can drop those changes back in after the overwrite. They don't want to make changes to the .proj and .sln files during this process. They want the one that is in Vault and that can overwrite.
After this. for that solution and any of the projects beneath it, ALL users must use the enhanced client. If any project is bound through some other solution to the Classic client, it won't work properly.
I will have to do some digging to see if it's possible to remove the Classic Client. Either way, you will still have to perform the instructions I mentioned to get it properly bound. I'm thinking this is not likely to be possible, and I'd be worried about accidentally breaking something. I don't think we ever tested it that way.
To change the bindings, have one user unbind the entire solution though File - Source Control - Change Source Control. Then click ok and save all to disk. Then go to the Tools - Options - Source Control and have that user select the enhanced client. Then go to File - Vault Source Control - Change Vault Bindings and rebind everything. Then click ok and check everything in.
All other users should set their VS Tools - Options - Source Control to Enhanced while having nothing open. Then go to File - Vault Source Control - Open from Vault. They need to allow it to overwrite their disk so that they get the new bindings. If they had items that had needed to be checked in, then before starting anything, they should either use the Vault GUI client to check in those items or they should make a copy so that they can drop those changes back in after the overwrite. They don't want to make changes to the .proj and .sln files during this process. They want the one that is in Vault and that can overwrite.
After this. for that solution and any of the projects beneath it, ALL users must use the enhanced client. If any project is bound through some other solution to the Classic client, it won't work properly.
I will have to do some digging to see if it's possible to remove the Classic Client. Either way, you will still have to perform the instructions I mentioned to get it properly bound. I'm thinking this is not likely to be possible, and I'd be worried about accidentally breaking something. I don't think we ever tested it that way.
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support
Re: How can i set the enhanced client the default provider?
Many thanks for your answer, Beth,
we certainly changed the bindings of our projects (months ago) to the enhanced client and all programmers use this client. This is not the cause of the problems. What could be the cause is that after changing the binding on one machine, the project was not completely fetched from Vault on other machines. It was just opened (after the enhanced client was set as the current sourcecode client). I assume that Visual Studio stores some wrong information in any file (i.e. the .suo file). I will try to solve the problems by fetching all projects from the repository (although it will be hard work since we have a lot of projects).
we certainly changed the bindings of our projects (months ago) to the enhanced client and all programmers use this client. This is not the cause of the problems. What could be the cause is that after changing the binding on one machine, the project was not completely fetched from Vault on other machines. It was just opened (after the enhanced client was set as the current sourcecode client). I assume that Visual Studio stores some wrong information in any file (i.e. the .suo file). I will try to solve the problems by fetching all projects from the repository (although it will be hard work since we have a lot of projects).
Re: How can i set the enhanced client the default provider?
Binding information is written to the .sln files and the .proj files. When those don't match among users, there can be problems.
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support