"This Vault server uses a protocol that is not supporte

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

"This Vault server uses a protocol that is not supporte

Post by trunnellm » Sun Apr 24, 2005 9:29 pm

When I open a solution in Visual Studio 2003, I get an error message:

"This Vault server uses a protocol that is not supported by this client."

I'm running Vault 3.0.6 on both the client and server. I've triple-checked it :D

When I click OK, the "Connect To Server" dialog does not have my profile selected and the checkbox labeled "Automatically connect using this profile" is always disabled. I can select my profile and login just fine. Everything seems to work... but the error message tells me something is amiss.

Any ideas why I get the error message?

I'm guessing it might have something to do with how I upgraded to v3.0.6. I needed to upgrade as well as move both the server and my workstation to different machines. Here's what I did:
1) Workstation A and Server X were happily running Vault 2.0.6.
2) I installed Vault 2.0.6 on Server Y.
3) I backed up Server X's Vault database and restored it on Server Y.
4) I upgraded Server Y to 3.0.6
5) I installed VS.NET and Vault 3.0.6 on Workstation B.
6) I copied my project files from Workstation A to Workstation B.
7) Now opening a project in VS on Workstation B gives the above error message.

Other clients (workstations C and D) that were upgraded from Vault 2 to 3 do not show the error message. Note that Workstation B was never upgraded-- for it, Vault 3 was a fresh install.

Any ideas?

P.S. I tried posting this in the Gold Support forum but the registration did not like my license number.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Apr 25, 2005 7:06 am

Are you using a profile to connect? If so, does the profile have the name of the old server in it?

It seems very likely that the solution is still attempting to connect to server X. You can manually check this (and change it) by searching in all the MSSCCPRJ.SCC files within the solution and verifying where it tries to connect by default.

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 11:04 am

(this was a duplicate post... sorry)
Last edited by trunnellm on Mon Apr 25, 2005 11:08 am, edited 1 time in total.

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 11:07 am

Well, yes, I would like to use a profile to connect.

Again, here's what happens: Upon starting VS.NET, my default profile is not selected and the checkbox "Automatically connect..." is disabled. I can choose the profile from the drop down list and connect with it, but the same thing happens the next time I start VS. This is preceded by an error message reading, "This Vault server uses a protocol that is not supported by this client."

I expect Vault not to give the protocol error message, and I expect to be able to automatically connect with a profile.

Each of the MSSCCPRJ.SCC files that I checked point to the correct server. I read the Knowledge Base post about format of <url>|<profile name>:<rep id>. The new server URL and the profile name are correct (they point to server Y). I looked up the rep id in tblrepositories and it is correct also.

What else can I check?
Attachments
vault-no-profile.JPG
vault-no-profile.JPG (22.02 KiB) Viewed 8268 times

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Apr 25, 2005 12:28 pm

Is one of your projects a web project that isn't in the main solution tree (say, within inetpub?). If so, check that MSSCCPRJ.SCC file as well.

The next step is to turn on logging in the IDE client. See http://support.sourcegear.com/viewtopic.php?t=2898. Startup the IDE and when it fails to connect, check the log file and see which project is attempting to connect to the other server.

One other thing to verify: Using Windows Explorer, go to the VaultIDE.dll that VS is using and right click on it to get properties, and verify the version of the dll. It might also be that somehow the 2.0 dll is still being used (perhaps it didn't get overwritten because it was in use or something). (In this case, a 2.0 VaultIDE dll would not connect to the new server).[/img]

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 1:27 pm

Ok, I setup logging and found references to the old server. I'll post the log file below.

However, I cannot find any SCC files that reference the old server. If it's in the log, it's got to be in some configuration file somewhere, right? I looked at both MSSCCPRJ.SCC and <projectname>.csproj.vspscc, no luck.

The project is a web project. The csproj file is within inetpub, but the solution file lives in my documents\visual studio projects\<solution dir>\.


To recap, Server X is the old Vault 2 machine. Server Y is the new Vault 3 machine. My old profile was named Server X, the new profile is named Server Y. Log output:

---------Begin new tracelog--------------
04/25/05 11:42:34 | Enter SccInitialize(), ppContext=1220024, hWnd=394620 lpAuxPathLabel=
04/25/05 11:42:34 | Exit SccInitialize(), ppContext=1220024, hWnd=394620 lpAuxPathLabel=Vault Project:
04/25/05 11:42:34 | Enter SccOpenProject(), pContext=51716488, lpUser=trunnellm, lpProjName=$/webapps, lpLocalProjPath=C:\Inetpub\wwwroot\webapps, lpAuxProjPath=http://Server.X.url/VaultService|Server X:2
04/25/05 11:42:36 | CMsSccFile | Enter ReplaceProfile(), lpLocalProjPath=C:\Inetpub\wwwroot\webapps, pProjectName=$/webapps, pOldAuxPath=http://Server.X.url/VaultService|Server X:2, pNewAuxPath=http://Server.Y.url/VaultService|Server Y:2
04/25/05 11:42:36 | CMsSccFile | Exit ReplaceProfile() at the end
04/25/05 11:42:36 | Exit SccOpenProject(), pContext=51716488, lpUser=trunnellm, lpProjName=$/webapps, lpLocalProjPath=C:\Inetpub\wwwroot\webapps, lpAuxProjPath=http://Server.X.url/VaultService|Server X:2
04/25/05 11:42:36 | Enter SccCloseProject(), pContext=51716488
04/25/05 11:42:36 | Exit SccCloseProject(), pContext=51716488
04/25/05 11:42:36 | Enter SccOpenProject(), pContext=51716488, lpUser=trunnellm, lpProjName=$/webapps, lpLocalProjPath=C:\Inetpub\wwwroot\webapps, lpAuxProjPath=http://Server.X.url/VaultService|Server X:2
04/25/05 11:43:15 | CMsSccFile | Enter ReplaceProfile(), lpLocalProjPath=C:\Inetpub\wwwroot\webapps, pProjectName=$/webapps, pOldAuxPath=http://Server.X.url/VaultService|Server X:2, pNewAuxPath=http://Server.Y.url/VaultService|Server Y:2
04/25/05 11:43:15 | CMsSccFile | Exit ReplaceProfile() at the end
04/25/05 11:43:15 | Exit SccOpenProject(), pContext=51716488, lpUser=trunnellm, lpProjName=$/webapps, lpLocalProjPath=C:\Inetpub\wwwroot\webapps, lpAuxProjPath=http://Server.X.url/VaultService|Server X:2
04/25/05 11:43:15 | Enter SccInitialize(), ppContext=1219104, hWnd=394620 lpAuxPathLabel=
04/25/05 11:43:15 | Exit SccInitialize(), ppContext=1219104, hWnd=394620 lpAuxPathLabel=Vault Project:
04/25/05 11:43:15 | Enter SccQueryInfo(), pContext=51716488, nFiles=463, lpFileNames=C:\Inetpub\wwwroot\webapps\admin\adduser.aspx, status=0
04/25/05 11:43:16 | Exit SccQueryInfo(), pContext=51716488, nFiles=463, lpFileNames=C:\Inetpub\wwwroot\webapps\admin\adduser.aspx, status=1


Does that give you any clues?

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 1:39 pm

Well, I found one file with a reference to Server X: the .SUO hidden file that's in the solution directory. I think it is a binary file? Opening it in notepad, I can see a line with Server X in it.

I made a backup copy and attempted to edit the file. I changed the reference from Server X to Y. Opening the solution in VS now prompts me with a Set Project Location dialog, with the Working Copy Location set to http://localhost/projectname_1. Oops! Looks like I shouldn't have edited the SUO file... I restored the backup copy and VS is back to the regular behavior.

Suggestions?

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Apr 25, 2005 1:57 pm

Try temporarily removing the .suo file. I'm not sure what all is stored there, but it should hopefully recreate it.

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 2:10 pm

I removed the SUO file, and VS recreated it. But VS won't open the project from the old location. See screenshot.

I'm just going to create a new solution file from scratch and download the project from Vault.
Attachments
vault-no-suo.jpg
vault-no-suo.jpg (56.29 KiB) Viewed 8241 times

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 2:20 pm

trunnellm wrote:I'm just going to create a new solution file from scratch and download the project from Vault.
That seems to have fixed the issue. I no longer get the protocol error, and my profile is automatically selected.

Am I going to have to recreate all dozen of my Vault projects? Knowing that the issue is probably with the SUO file, is there a better way?

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Apr 25, 2005 2:27 pm

From VS's point of view, the bindings have changed, because the connection info is different. So, the way to avoid this is to unbind the solution from the old server and rebind them to the new server (File->Source Control->Change Source Control from VS). But, I think you need to be connected to bind them.

However, if you shutdown Vault on the old server, you might be able to unbind while working disconnected (you'll need to give it a try to see if that works). If not, you'd need to install the 2.0 Vault client temporarily, and unbind from the old server, and then load the new client and rebind to the new one.

Sorry this is so complicated. Neither VS nor Vault is optimized for changing the location of a server, since it happens so rarely.

trunnellm
Posts: 10
Joined: Sun Apr 24, 2005 8:49 pm

Post by trunnellm » Mon Apr 25, 2005 3:18 pm

Ok, discovering the File->Source Control->Change Source Control dialog was educational. In retrospect, I should have started there. That's where the old server was defined.

Unfortunately, I was unable to "re-bind" the projects. After unbinding from the old server (which is still running) and then binding to the new Vault server, the dialog showed that the Status was "invalid." It would not let me save the bindings.

I just created yet another solution file and added the project from Vault from scratch. I would greatly prefer not to do that for the rest of my projects. I left a voice mail on your support line. Please give me a ring if you have any other suggestions.

Thanks!

Post Reply