If you use Team Foundation Server and haven't seen the Setup and Admin FAQ.
Do yourself a favour and check it out -and book mark it!
Like I mentioned we are always updating this document and i have placed the latest updates below:
Team Foundation Server Administration. 2
1. How to change the credential for the TFS command line tools. 2
2. How to migrate TFS 2008 Workgroup to TFS 2008 Standard. 2
3. How to Set the Maximum Attachment Size for Work Items. 2
4. How to access TFS from internet. 3
5. How to modify the portal template. 4
6. How to set the domain trusts between different TFS components. 5
7. Error Message: VersionControl.Adapter: An unexpected exception occurred while calculating code churn 5
8. Unable to undo local changes after you upgrade Visual Studio 2005 Team Foundation Server to Visual Studio 2008 Team Foundation Server. 6
9. How to upgrade Windows SharePoint Services from version 2.0 to 3.0 after upgrading Team Foundation Server 2005 to version 2008 6
Team Foundation Server Source Control. 11
1. How to structure solutions and projects. 11
Team Foundation Server Team Build. 12
1. How to build .NET 1.1 projects with Team Build. 12
2. How to pass MSBuild properties to solutions and projects. 12
When client applications, such as Team Explorer, or the TFS command-line tools, connect to a Team Foundation application-tier server, the server authenticates the user identity running the clients. By default, these clients use the current user account as their credentials. To change the credential, we can use the command “RunAs”. For example:
RunAs /profile /env /user:mydomain\username "<TFSCommandLine>"
Related threads: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2997627&SiteID=1
We can upgrade Team Foundation Server Workgroup Edition to Team Foundation Server by following the document “How to: Upgrade from Team Foundation Server Workgroup Edition”. One of the prerequisites is to have a valid product key for Team Foundation Server. For more information about the Team Foundation Server upgrades, please refer to Team Foundation Server Upgrade Types, and How do I upgrade to TFS 2008? During the upgrade, we may have some PID (Product ID) problems, where the PID field turns read-only when the new PID for TFS is requested. In this case, please run the setup from the installation media of the standard edition, instead of running the upgrade from “Add/Remove program” at Control Panel.
The installation media of the Standard edition has two types:
· Retail Edition.
· Volume License Edition.
When we upgrade the system from the standard installation media, the PID fields may either be empty (for Retail Edition) or be prePIDed with the Volume License key (for Volume License Edition). Both situations result in a successful upgrade.
To set the maximum attachment size for work items
1. In Internet Explorer, open the following URL:
http://<tfsserver>:8080/WorkItemTracking/v1.0/ConfigurationSettingsService.asmx?op=SetMaxAttachmentSize where <tfsserver> represents the name of the Team Foundation Server.
2. In the maxSize box, enter the maximum attachment size in bytes, and then click Invoke. The maximum attachment size is 2 gigabytes.
Related links and documents:
How to: Set the Maximum Attachment Size for Work Items
There are four ways to access TFS from the internet.
Here is a brief introduction of each method.
· Publishing TFS Through a Reverse Proxy
With this approach, you can install a TFS server on your internal network and use the ISA Server Web publishing functionality to expose it to the external network. Remote users access TFS over SSL and use Basic authentication. This option will not work unless you have TFS SP1 installed.
· Locating TFS in an Extranet (“Hosted Scenario”)
With this approach, you install your complete TFS application, both tier and data tier, inside your perimeter network, off of your internal intranet. All connections to your TFS come over the Internet, whether they are from external or internal users. TFS can work with or without a domain controller (DC). If your perimeter network does not have access to a DC, the Active Directory service features of TFS will not work. For example, adding users to TFS groups, or adding an Active Directory group to folders in source control, will not work without a DC. This option will not work unless you have TFS SP1 installed.
· Basic Authentication / SSL
If you are using TFS SP1 and want to support the extranet or reverse proxy scenario, you need to enable Basic authentication over SSL by configuring IIS on your TFS application tier. With Basic authentication, logon credentials are passed over the Internet using an unprotected Base64 encoded format. To protect your client’s credentials, use only Basic authentication over a Secure HTTP (HTTPS) connection that uses SSL.
· Using a VPN connection
With this approach, your remote development team uses a direct VPN connection to your TFS on your internal network. If you have TFS without SP1, or if you require Integrated Windows authentication, then using a VPN connection is your only option. TFS is designed to work in low-bandwidth situations, such as VPN access, and provides acceptable performance when used in this scenario.
Related links and document:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1499762&SiteID=1 Chapter 17 - Providing Internet Access to Team Foundation Server
1. Enumerate the templates on the WSS server. (Take WSS 3.0 as example)
1.1 Login on the WSS server
1.2 Open command line prompt window.
1.3 Change to the folder <ProgramFolder>\common files\Microsoft Shared\web server extensions\12\bin
1.4 Type “stsadm -o enumtemplates” to list all templates existing on the server, record it or print it.
2. Use the deletetemplate command to remove the old template.
stsadm -o deletetemplate -title VSTS_MSFAgile.
stsadm -o deletetemplate -title VSTS_MSF_CMMI.
More at http://technet.microsoft.com/en-us/library/cc288624.aspx
3. Use the WSS command tool Stsadm.exe to add the template
Stsadm.exe -o addtemplate -filename "*******.stp" -title TitleName
Stsadm.exe -o addtemplate -filename "********.stp" -title TitleName
There are some template files (*.stp) are in the folder
C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\Templates
More information about addtemplate can be found at http://technet2.microsoft.com/windowsserver/WSS/en/library/700c3d60-f394-4ca9-a6d8-ab597fc3c31b1033.mspx?mfr=true
Related threads: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3446702&SiteID=1
Team Foundation Server does not have any specific requirements in terms of supported domain trusts. The types of trust that can be employed depend on the forest and domain types that are deployed in your company’s network. Certain trust relationships might be required by Team Foundation Server depending on how Team Foundation components are deployed across your company’s network.
Generally, Team Foundation Server users and services must be authenticated so that they can access server components. From a trust relationship point of view, Team Foundation Server must trust the domain where the user or service account is defined.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3376454&SiteID=1 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617894&SiteID=1 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=153411&SiteID=1 Trusts and Forests Considerations for Team Foundation Server
If you store the UTF-8 or UTF-16 encoding file in Microsoft Visual Studio 2008 Team Foundation Server and update the warehouse in Team Foundation Server, there will be an error message in the event log:
Error Message: VersionControl.Adapter: An unexpected exception occurred while calculating code churn
This is a known issue. This problem occurs only when the Team Foundation Server application tier components are not installed on the system disk. To resolve the problem immediately, please contact Microsoft Customer Support Services to obtain its hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:
This is fixed in SP1 of TFS 2008.
Related links: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2996412&SiteID=1
This problem occurs because you restore databases from an instance of Microsoft SQL Server that is using a collation. The collation differs from the collation setting of the restored databases.
A supported hotfix is now available from Microsoft. To resolve this problem immediately, please contact Microsoft Customer Support Services to obtain the hotfix. This hotfix is scheduled to be included with Microsoft Visual Studio 2008 Team Foundation Server Service Pack 1.
Navigate to the "Upgrading to Windows SharePoint Services 3.0" page at http://go.Microsoft.com/fwlink/?LinkID=87953 .
Click the "Perform pre-upgrade steps" link, and follow the steps. a. You should already have Service Pack 2 for Windows SharePoint Services 2.0 installed, as this is a prerequisite for the Team Foundation Server 2005 installation. b. Run pre-upgrade scan tool to verify if you can upgrade Windows SharePoint Services from 2.0 to 3.0.
Navigate back to the "Upgrading to Windows SharePoint Services 3.0" page at http://go.Microsoft.com/fwlink/?LinkID=87953 .
Click the "Perform an in-place upgrade" link. a. Click the "Install and configure Windows SharePoint Services for an in-place upgrade" link. b. Carry out the "Install Windows SharePoint Services 3.0" steps. You can install the program by running SharePoint.exe from the folder AT\wcu\WSS on the Microsoft Visual Studio 2008 Team Foundation Server installation media, or by downloading Windows SharePoint Services 3.0 from http://www.Microsoft.com/downloads/details.aspx?FamilyID=d51730b5-48fc-4ca2-b454-8dc2caf93951&DisplayLang=en . c. Choose "Web Front End" as the server type.
Follow the "Run the SharePoint Products and Technologies Configuration wizard" steps. a. When the following message box appears, click Yes: --------------------------- SharePoint Products and Technologies Configuration Wizard --------------------------- The following services may have to be started or reset during configuration: Internet Information Services SharePoint Administration Service SharePoint Timer Service Choose yes to restart the services if required and continue with the configuration wizard or no to exit the configuration wizard. --------------------------- Yes No --------------------------- b. When prompted, you will need to select a port number for the SharePoint Central Administration site. You cannot specify the old port (the default for a Team Foundation Server 2005 installation is 17012) because that port is in use. You need to select a new port number, such as 17013. Make a note of this port number. c. Specify NTLM as the Configure Security Settings section. d. If you see the following message box, click OK. --------------------------- SharePoint Products and Technologies Configuration Wizard --------------------------- You must run setup to install new binary files for every server in your server farm. If you have multiple servers in your server farm, run setup and the configuration wizard on the other servers now, and then return to this server and click OK to continue. For more information about upgrading a server farm, see the Help system. --------------------------- OK ---------------------------
When you complete the wizard, it will navigate to the Upgrade Running page. This page will refresh once a minute until the upgrade has completed. Please wait until the upgrade has completed before you continue. If you did not make a note of the port number in step 5b, you can see it in the Internet Explorer address bar now. You can also get the port number later by starting "SharePoint 3.0 Central Administration" under Control Panel / Administrative Tools.
Change the SharepointAdminUri setting for the new SharePoint Central Administration port number. Use tfsadminutil.exe from the Tools directory under the Team Foundation Server 2008 installation folder (by default, C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server) to perform this task. a. Run tfsadminutil configureconnections with the following command line to determine the current SharepointAdminUri setting: tfsadminutil configureconnections /view b. You will see output which includes a line similar to this: Current value for SharepointAdminUri = http://machinename:port/_vti_adm/admin.asmx c. Run tfsadminutil configureconnections to change the SharepointAdminUri setting to the new port number. You will be using the SharepointAdminUri from the above step, except you will change the port number to the new port number from step 5b, and exclude the trailing /_vti_adm/admin.asmx. Execute this command as below, making sure the value entered in does not include the trailing /_vti_adm/admin.asmx which appears in the SharepointAdminUri value : tfsadminutil configureconnections /SharepointAdminUri:http://machinename:port d. Verify the new setting with the following command line: tfsadminutil configureconnections /view e. Leave this command prompt window open. We will want to use some of these settings in a moment.
Run the Windows SharePoint Services Extensions setup. This is necessary to upload the TFS templates for SharePoint 3.0. a. Run Setup.exe on the Microsoft Visual Studio 2008 Team Foundation Server Installation media. b. Highlight Windows SharePoint Services Extensions and click Install.
At the end of the installation, you will see the “Team Foundation Server SharePoint Configuration” dialog. The dialog appears, with three textboxes. a. In the “Windows SharePoint Services site” box, enter the value from tfadminutil configureconnections /view for “Current value for SharepointSitesUri”. This will be in the form http://machinename:port/Sites. b. In the “Reporting Services reports site” box, enter the value from tfadminutil configureconnections /view for “Current value for ReportsUri”. This will be in the form http://machinename/Reports, or http://machinename/Reports_instancename. c. In the “Reporting Services administrative site” box, enter the value from tfadminutil configureconnections /view for “Current value for ReportServerUri” excluding the trailing /ReportService.asmx This will be in the form http://machinename/ReportServer, or http://machinename/ReportServer_instancename. Again, be sure that the value entered in the textbox does not include the trailing /ReportService.asmx which appears in the ReportServerUri value. d. Click Apply. You may see a message box similar to the following. If so, click Yes. --------------------------- TfsConfigWss --------------------------- The following site has already been configured for Team Foundation Server: 'http://machinename/Sites'. Another instance of Team Foundation Server might already be using this site. Current configuration information: Reports: 'http://machinename/Reports' Report server: 'http://machinename/ReportServer' Do you want to overwrite the current values? --------------------------- Yes No --------------------------- e. You may see a message box similar to this. If so, click OK. --------------------------- TfsConfigWss --------------------------- The reporting settings for the following Windows SharePoint Services site were updated successfully: 'http://machinename/Sites'. --------------------------- OK --------------------------- f. Click Exit to close the “Team Foundation Server SharePoint Configuration” dialog.
There are three common strategies used to structure solution and project files:
· Single solution
If you work on a small system, create a single solution and place all of your projects within it.
· Partitioned solution
If you work on a large system, use multiple solutions to group related projects together. Create solutions to logically group subsets of projects that a developer would be most likely to modify as a set, and then create one master solution to contain all of your projects. This approach reduces the amount of data that needs to be pulled from the source control when you only need to work on specific projects.
· Multiple solutions
If you are working on a very large system that requires dozens of projects or more, use multiple solutions to work on sub-systems, but for dependency mapping and performance reasons do not create a master solution that contains all projects.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2736278&SiteID=1 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1453999&SiteID=1 Chapter 3 - Structuring Projects and Solutions in Source Control
Here are two ways to build .NET 1.1 projects with Team Build:
· “MSBee” in MSBuild Extras – Toolkit for .NET 1.1. It is an addition to MSBuild that allows developers to build managed codes that target .NET 1.1 in both Visual Studio 2005 and Visual Studio 2008.
For more information about MSBee, please refer to the article: http://www.codeplex.com/Wiki/View.aspx?ProjectName=MSBee
· Invoking Visual Studio 2003 IDE to compile the VS 2003 projects (.NET1.1). Suppose that Visual Studio 2003 is available in the folder: $(ProgramFiles)\Microsoft Visual Studio .NET 2003\Common7\IDE\
We can add a AfterCompile entry in the TFSBuild.proj file as this:
<Exec Command=""$(VS2003_Devenv)" "$(VS2003_SolutionName)" /build $(VS2003_Configuration)"/>
Related thread: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2546625&SiteID=1
· Team Build 2005:
Aaron gives a revised CoreCompile target, a good way to pass MSBuild properties to solutions and projects with Team Build 2005: http://blogs.msdn.com/aaronhallberg/archive/2007/03/19/passing-custom-properties-to-individual-solutions-in-team-build.aspx
Another way is to override the CoreCompile target directly. Here is a brief step list:
1. Find Microsoft.TeamFoundation.Build.targets at the folder:
2. Open the Microsoft.TeamFoundation.Build.targets file with Notepad.
3. Find the CoreCompile target, copy the whole target to the end of the TeamBuild.proj before the </Project> tag.
4. In the team build type file, find the following task in the CoreCompile target.
<!-- Build using MSBuild task -->
Condition=" '@(SolutionToBuild)'!='' " Projects="@(SolutionToBuild)"
Properties="Configuration=%(ConfigurationToBuild.FlavorToBuild);Platform=% (ConfigurationToBuild.PlatformToBuild);SkipInvalidConfigurations=true;VCBuildOverride=$(MSBuildProjectDirectory)\TFSBuild.vsprops;FxCopDir=$(FxCopDir);OutDir=$(OutDir);ReferencePath=$(ReferencePath);TeamBuildConstants=$(TeamBuildConstants);$(CodeAnalysisOption)" Targets="Build" />
The MSBuild task is the second task from the end of the CoreCompile target.
5. Import the additional MSBuild property (LCID) to the MSBuild task at the Properties attribute as the part in bold:
Properties="Configuration=%(ConfigurationToBuild.FlavorToBuild);Platform=% (ConfigurationToBuild.PlatformToBuild);SkipInvalidConfigurations=true;VCBuildOverride=$(MSBuildProjectDirectory)\TFSBuild.vsprops;FxCopDir=$(FxCopDir);OutDir=$(OutDir);ReferencePath=$(ReferencePath);TeamBuildConstants=$(TeamBuildConstants);$(CodeAnalysisOption);LCID=$(LCID)" Targets="Build" />
· Team Build 2008:
As an option, you can also pass custom properties into individual SolutionToBuild items by specifying the custom values in the metadata. Details can be found at How to: Customize the SolutionToBuild Item Group.
Related thread:| http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2444665&SiteID=1