How to remove a TFS Workspace Mapping?

2019-01-08 05:09发布

问题:

I had a project in tfs within a team project then we moved the project to a different location in another team project.

I had configured Jenkins to connect to the team project and build my solution but when I changed the settings to connect to the new tfs team project, it gives me the below error:

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain.net:8080/tfs/oldteamproject].

So the above shows that there is an existing workspace so I ran the below command to remove it

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/oldteamproject

and it prompted that the workspace has been removed but I'm still getting the same error.

I also checked whether the mapping has been removed or not by running the below command:

tf workspace -server:http://domain.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

but it says the workspace doesn't exist as expected.

So, I thought it might be caching it somewhere and ran the below command:

tf workspaces /remove:* /collection:http://domain.net:8080/tfs/oldteamproject

and it said "No workspace in the cache matches * from server http://domain.net:8080/tfs/oldteamproject"

so I'd guess it's not even cached.

So what's causing the error and how to resolve it?

回答1:

From VS:

  1. Open Team Explorer
  2. Click Source Control Explorer
  3. In the nav bar of the tool window there is a drop down labeled "Workspaces".
  4. Extend it and click on the "Workspaces..." option (yeah, a bit un-intuitive)
  5. The "Manage Workspaces" window comes up. Click edit and you can add / remove / edit your workspace

From VS on a different machine

You don't need VS to be on the same machine as the enlistment as you can edit remote enlistments! In the dialog that comes up when you press the "Workspaces..." item there is a check box stating "Show Remote Workspaces" - just tick that and you'll get a list of all your enlistments:

From the command line

Call "tf workspace" from a developer command prompt. It will bring up the "Manage Workspaces" directly!



回答2:

I ran into the same problem, and was able to fix it by manually deleting all the files in the TFS cache, located here:

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

or 4.0, 5.0, etc.



回答3:

Follow these steps to remove mapping from TFS:

  1. Open team explorer
  2. Click Source Control
  3. Right click on you project
  4. Click on Remove Mapping


回答4:

The error is genuine. You might have created workspace with same name on different machine. Now you may have changed machine having different machine name.

So here is work-around that will definitely work.Following is work-around.

  1. Go to "Team-Explorer"
  2. Go to "Source-Control"
  3. Go to Workspace drop-down
  4. Click on "Workspaces..."
  5. A pop-up window will appear
  6. Click on "Show remote workspaces"
  7. Now delete the workspace which is conflicting and you can proceed your work.


回答5:

Please follow the below steps:

Ctrl + Run 

Copy and Past

%LocalAppData%\Microsoft\Team Foundation

You will get different version of TFS e.g

Click on each folder and you will get

Now Delete all data in these folder.

Reopen the Visual studio.

Thanks.



回答6:

I managed to remove the mapping using the /newowner command as suggested here:

How can I regain access to my Team Foundation Server Workspace?

The command opened an Edit Workspace windows where I removed the mapping. Afterwards I deleted the workspace I didn't need.



回答7:

I’m using TFS 2012. I tried everything that was suggested online: deleted cache folder, used the workspaces dropdown, tf workspaces /remove:*, cleared credentials from Control Panel, IE, etc.

Nothing worked, I believe my workspace got corrupted somehow. Finally, I went to the TFS database and ran the following queries. That worked! Of course be very careful when messing with the database, take backups, etc.

The database is called Tfs_<<your_TFS_collection_name>>. Ignore the Tfs_Configuration MSSQL database. I'm not sure but if you don't have a Tfs_<<your_TFS_collection_name>> database, settings might be in the Tfs_DefaultCollection database. Mapping is stored in tbl_WorkingFolder.LocalItem.

/*Find correct workspace*/
SELECT WorkspaceId, * FROM tbl_Workspace ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, * FROM tbl_WorkingFolder WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy' WHERE WorkspaceId = <<WorkspaceId from above>>
/*LocalItem = NULL might work too but I haven't tried it*/


回答8:

None of the answers here removed my workspaces. But here is one solution that may work for you.

  1. Open up a Visual Studio command prompt
  2. Close Visual Studio first or the delete command may not delete the workspace
  3. List the workspace commands -> tf /? to find the commands available to you from the version of TFS.
  4. List the workspaces -> tf workspaces
  5. Delete the workspace -> tf workspace YourWorkspace /delete


回答9:

You don't have to delete the entire Cache folder. you lose all settings / preferences The workspace mappings are stored in a file called:

VersionControl.config under the users local settings/application data directory. located here in windows 7:

%LocalAppData%\Microsoft\Team Foundation\x.0\Cache\Volatile

where x= 3.0,4.0, 5.0,6.0 etc.

Inside this you will find guid named folders , open each of them, manually editing the forementioned file, to remove the workspace mapping(directory path will be present in mappedpaths attribute) from that local folder to the TFS server (which is no longer in usage).



回答10:

Finally deleted ALL workspaces and started from scratch. Fixed.



回答11:

I was prompted to login to our TFS server via Visual Studio, so I used my SU account which is typically required for server access. This led to some issues, and I ended up mapping to a different folder, not realizing I had just duplicated all my stuff. At some point, Visual Studio reverted back to my regular user, I "lost" pending changes, and noticed that new pending changes were placed by in my old mapping.

When I would try to remap to the new location (that the SU account was linked to) in an attempt to recover my pending changes, it would tell me it was already mapped to the SU, and I couldn't do that, but had no way of removing the map! Show remote workspaces, removing all workspaces via command line, etc revealed nothing. I then thought "what if it's actually linked to the SU user account on my computer, not the domain." I logged in as my SU locally, and sure enough, there was a workspace all setup for that user. I removed the mapping, and was able to go back to my regular user and remap without issue.

Moral of the story, perhaps another user is logged in on the same machine, which isn't visible from the currently logged in user, thus you cannot remove or even see the mappings.



回答12:

You can also remove a tfs mapping by simply editing your .sln file and removing the GlobalSection element for the tfs binding.



回答13:

Thanks for your help!

Find problem workspace SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%xxxxx%'

Find desired workspace SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%zzzzz%'

Select Edit Top 200 tbl_WorkingFolder then Find the problem mapping SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId from above

Change the WorkspaceId to the desired WorkspaceId

Finally goto Project Explorer and select Remove Mapping on the project

Modify VB6 MSSCCPRJ.SCC to match the desired WorkSpace



回答14:

First download and install Team Explorer plugin in your system and then go to the Source Control Explorer. In the navigation pane find the Workspace field and click on Workspaces option. After clicking on Workspaces option, you will see all the workspaces that are mapped. Click on the remove button and the remove the mapping for required workspaces.



回答15:

Run tf workspaces to view current workspace mappings. Output looks like:

Then run tf workspace /delete "{workspace};{user}

Using output above, to delete workspace bi:

tf workspace /delete bi;James Wierzba



回答16:

If the mentioned clues are not helping you then download Team Foundation Sidekick and using that you can delete the workspaces.



回答17:

File -> Source Control -> Advanced -> Workspaces -> Choose the workspace in Manage Workspaces and click "Edit" Then you can change the local folder.



回答18:

Following are the steps to remove mapping of a project from TFS:

(1) Click on View Button.

(2) Open Team Explorer

(3) Click on Source Control

(4) Right click on your project/Directory

(5) Click on Remove Mapping

(6) Finally Delete the Project form local directory.