Solved

TFS 2010: Delete project within Team Project (permanently)

Posted on 2010-11-19
10
2,164 Views
Last Modified: 2012-05-10
Hi

How do I delete a project within my Team project, permanently. If dlete the project it will be marked as deleted in source control, but I want to remove it completely.

I don't wan't to delete the hole Team Project, just a project inside my solution.

I found this, dont know if this is the only way?  is there any UI for doing this?

I want to delete the project WindowsFormApplication1.

tf destroy $/[TeamProjectName]/WindowsFormApplication1 /preview /startcleanup /login:[Name],[pass] /collection:http://[server-name}:8080/tfs/DefaultCollection



0
Comment
Question by:AWestEng
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
10 Comments
 
LVL 28

Assisted Solution

by:strickdd
strickdd earned 50 total points
ID: 34175666
unfortunately, there is no GUI for doing this. You will have to use the command line for doing this.
0
 
LVL 23

Expert Comment

by:Admin3k
ID: 34178422
when you are ready to run the command , don't forget to drop the /preview parameter, this just simulates the action & does nothing else .
0
 
LVL 1

Author Comment

by:AWestEng
ID: 34179325
is there any C# code for doing the same as ts, I'm writing my own UI to delete stuff from TFS
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 
LVL 1

Author Comment

by:AWestEng
ID: 34180272
This what I have now.

I have tried to run this code on ProjectCollections that I thought was already completely deleted, but apparently not.  but not according  RegisteredTfsConnections.GetProjectCollections();

But then the method  (teamProjectCollection.EnsureAuthenticated();) throws an exception that I dont have the authorization to connect to this collection

using (TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(
                    new Uri(String.Format("{0}/{1}", this.server, projectCollectionName)), 
                    new NetworkCredential(String.Format("{0}\\{1}", this.domianName, this.username), this.password)))
                {
                   
                    teamProjectCollection.EnsureAuthenticated();

                    TeamProjectDeleter projectDeleter = new TeamProjectDeleter(teamProjectCollection, projectCollectionName, true);
                    
                    projectDeleter.StatusEvent += new TeamProjectDeleter.StatusEventHandler(this.StatusUpdate);
                    projectDeleter.ExcludeWss = false;
                    projectDeleter.Delete();
                }

Open in new window

0
 
LVL 23

Expert Comment

by:Admin3k
ID: 34190016
I am not sure why would you want to reinvent the wheel here, Project collections , team projects are deletable from the TFS admin console out of the box , also the tf destroy command does work to permanently delete objects under source control.

However with regards to the error you encounter in your code, Please look into Impersonation samples in the SDK , you will need to impersonate first before TFS identifies you and allows you to perform any source control operations.
0
 
LVL 1

Author Comment

by:AWestEng
ID: 34190757
But I can only see solutions or project collections, I can't see projects inside a solution uisng the TFS Admin, I can only delete them fron the Solution Explorer, and  if you do that it wont be permanently deleteed. that is when you will use the tf destory command, that is what I'm trying to do here, but with a GUI instead of using cmd
0
 
LVL 1

Author Comment

by:AWestEng
ID: 34190801
and the TFs admin don't take away the sharepoint  sites when deleting a collections,

so I like to have a GUI that will take away.
Site
Collection
dB
and all other things that is connected to a Project collection

and also want to list all the deleted projects, so I can excute a destroy command on them, If I neeed to clean up abit. :)

you know what I mean..
0
 
LVL 1

Author Comment

by:AWestEng
ID: 34190806
but I will check out the SDK., thx man :)
0
 
LVL 23

Accepted Solution

by:
Admin3k earned 450 total points
ID: 34191909
in order to sum your points .

You can completely delete a TEAM project and all its contents (sharepoint site , Source control items, documents, Work items ,etc...) using  two ways with TFS 2010
1- TFSDELETEPROJECT command
2- Team Foundation Administrator Console.

You can also delete a Team project collection in two ways.
1- TFSConfig Collection /delete command
2- Team Foundation Administrator console

The tf destroy command in your initial post does not destroy anything of the above mentioned items except items that are under source control which are usually source code files & folders, it deletes them beyond recovery.

This is why I think this option is not available through the GUI,and can only be done from command line,  in order to regulate using it , and making sure the person who does it is aware of what he is doing since it is irreversible.

Imagine someone accidentally clicking on a destroy command in a visual studio menu for an important project that is used by an entire team, you will only have SQL backups to get to , the level of success in restoring the database depends on how good your backup plan is, and the amount of data added to your TFS databases on a daily basis.

the whole idea of a source control system is to keep History of the code and keep track of changes, so chances are destroying code permanently is not a very popular command.

such commands should be used with care & awareness (Especially in production environments) ,The TFS administrators should know them, but they are not what I would call daily activities.

Finally you can communicate with TFS Programmatically if you need to , Microsoft calls this Extending Team Foundation .
 
Download the Team Foundation Server 2010 SDK & go through the documentation to learn of the APIs you can use , check code samples for the most common activities to familiarize yourself with what you can use this for.

Hope this helps.




0
 
LVL 1

Author Comment

by:AWestEng
ID: 34192269
thx man
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question