TFS 2010: Delete project within Team Project (permanently)


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

Who is Participating?
Mohamed OsamaConnect With a Mentor Senior IT ConsultantCommented:
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
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.

strickddConnect With a Mentor Commented:
unfortunately, there is no GUI for doing this. You will have to use the command line for doing this.
Mohamed OsamaSenior IT ConsultantCommented:
when you are ready to run the command , don't forget to drop the /preview parameter, this just simulates the action & does nothing else .
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

AWestEngAuthor Commented:
is there any C# code for doing the same as ts, I'm writing my own UI to delete stuff from TFS
AWestEngAuthor Commented:
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)))

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

Open in new window

Mohamed OsamaSenior IT ConsultantCommented:
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.
AWestEngAuthor Commented:
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
AWestEngAuthor Commented:
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.
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..
AWestEngAuthor Commented:
but I will check out the SDK., thx man :)
AWestEngAuthor Commented:
thx man
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.