Home
March 6th, 2010 — James

Here is a slightly dark color setting that can be imported to Visual Studio 2010.

Color setting for XML.

Color setting for HTML

Color setting for C#

CSS coloring

Download the slate-v-01 here.

Download the slate-v-011 here.

Here is a completely black one for VS2008.

December 9th, 2009 — James

I brought Team Foundation Server 2005 to our team about 3 years ago. That was after playing with it at home from the beta days. We moved most of our projects out of VSS to TFS. All new projects were created on TFS. We still have other systems for bug tracking and customer request tracking. TFS did not have an approval process that was needed for customer requests. All our customers are internal and the need is to have NTLM authentication. Bug tracking required that there is a web interface available to the users. QA uses team explorer but not the users. We did not have resources to develop plug-in.

But as the number of developers and projects moving to TFS grew, we had a problem. The TFS server is sitting in my office as a single server with rudimentary backup. The backup process is like a scheduled backup every night that gets copied to the tapes later on.

We started a project to move out the TFS server in to the data center. Then we realized that TFS 2008 is coming out and it will have lots of bells and whistles for everyone. So we got two servers inside data center dedicated for TFS. Idea was to move to TFS 2008/SQL 2008 and all of them on 64 bit.

When I started working on the move + upgrade project I found out that even in TFS 2008, application tier did not support 64bit. So, I had to rebuild the server to 32 bit. Then I found that I could not move directly from TFS 2005 to TFS 2008 on a different hardware. Then I found out that TFS 2008 supports SQL 2008 only with SP1. All these findings cost a lot of time. In the end, this is what I found to be working.

Move the TFS 2005 from the current server to TFS 2005 on the new set of hardware. Even though I went through few unsupported steps I finally got it working.

I have one server for SQL Server 2005 64 bit for data tier. The requirement is that you must match the version number to that last digit. If not, the database restoration may not work, reporting server calls may not work and such.

The application tier is 32 bit with SQL Server 2005 32 bit reporting services. Thinking that I would be able to install TFS 2008 and directly restore 2005 database on the data tier, I installed TFS 2005 application tier on it. This in turn installed Sharepoint services 3.0. When it turned out I could not use TFS 2008 to restore 2005 database, I un-installed TFS 2008 from application tier. But my TFS 2005 installation kept failing because it could not update reporting services or something. I found that TFS 2008 uninstall did not uninstall SharePoint services 3.0. After uninstalling SharePoint services 3.0, the TFS 2005 install still failed. It turns out that a bunch of registry entries and folders were left out by the SharePoint services 3.0 uninstall is causing the failure. I could not delete some files and folders even after multiple reboots. I had to use process explorer to find out who is locking those files and folders. It turns out it was winlogon (why?).

After successful installation of TFS, source control wouldn’t work. Looking at the event viewer, it turns out TFS assembly versions must match the versions in the original server. So, I update the TFS 2005 and it started working.

Now the analysis services kept failing. First failure was that the cubes were not processed. I tried manual processing of cubes on the data tier. It kept failing at some points. The error message was that login was empty (OLE DB error: OLE DB or ODBC error: Login failed for user ”. The user is not associated with a trusted SQL Server connection; 42000). No information about it on the net. Finally as a test I removed the FQDN and placed just the host name in the connection string for the server name. The processing went through. Now I get the error “Query (19, 3) The ALLMEMBERS function expects a hierarchy expression for the argument. A member expression was used.” I followed the steps in this article and still got the error. I went back to the data tier and checked the connection string and it turns out the server name is back in the format FQDN. Why because the warehouse rebuild rebuilt the analysis service database and the connection string was rebuilt using the server name provided during the “TfsAdminUtil RenameDT newTeamFoundationDataTierServerName”. I reran the command, this time without FQDN. Now the analysis services started working.

This is not the complete list of problems I faced during the exercise. These were some of the most time consuming errors I faced because there were no direct solutions to be found.

Now that I don’t see any errors in the event viewers on both data tier and application tier of the new hardware, I am moving it today after work hours. I will try an upgrade to TFS 2008 and may be upgrade to SQL 2008 after installing TFS 2008 SP1. If everything goes well, I can disable TFS on the old server.

Here are some links to help in moving and troubleshooting TFS 2005/2008.

Move Your Team Foundation Server from One Hardware Configuration to Another: http://msdn.microsoft.com/en-us/library/ms404869.aspx

Restore Data for Team Foundation: http://msdn.microsoft.com/en-us/library/ms252458.aspx

Team Foundation Readme: http://msdn.microsoft.com/en-us/teamsystem/bb693326.aspx

How to upgrade to SQL Server 2008: http://msdn.microsoft.com/en-us/library/ms144267.aspx

Move from a Single-Server to a Dual-Server Deployment: http://msdn.microsoft.com/en-us/library/ms404854.aspx

Visual Studio Team System Web Access 2008 SP1 Power Tool: http://www.microsoft.com/downloads/details.aspx?FamilyID=3ECD00BA-972B-4120-A8D5-3D38311893DE&displaylang=en

Manually rebuild TFS Warehouse:

SetupWarehouse -o -s DataTierServernameWithoutfFQDN -d TFSWarehouse -c warehouseschema.xml -ra DOMAIN\ReportServiceAccount -a DOMAIN\TFSServiceAccount -mturl http://ApplicationTierHostName:8080

To get a list of files on TFS source control checked out by all users on all project so that you can inform them before a move. Run this command from Visual Studio command prompt assuming you have team explorer installed.

TF status $/ /user:* /recursive > c:\temp\tf.csv

You can import this data to an Excel worksheet from text with fixed width.

To undo the changes of a user who no longer has the file checked out:

TF undo /workspace:WORKSPACENAME;DOMAIN\UserName “$/project/path/filename.ext”

To remove the workspace of a user who is no longer working on the project:

tf workspace /delete WORKSPACENAME;DOMAIN\UserName

Update Dec 14, 2009:

The update is complete and upgrade to Team Foundation Server 2008 is also complete. Installed Web Access as well. Here are some issues I faced during the upgrade to Team Foundation Server 2008 from 2005.

If you read the “how to” upgrade from 2005, it doesn’t say anything about uninstalling Team Foundation Server 2005. I searched the web for issues before upgrading anyway. That brought up Brian Harry’s blog post at MSDN which  said I need to uninstall TFS 2005 prior to installing TFS 2008. So, I went ahead and uninstalled TFS 2005 from both AT and DT (Application Tier and Data Tier).

Based on my experience with TFS 2005, I “knew” I had to install TFS data tier on the SQL server machine. So, I started the installer on the Data Tier machine. This is a 64 bit computer that no issues in the TFS 2005 but the installer kept telling me that it had no support for 64 bit. What?

After a bunch of unsuccessful search for a solution, I looked at why there is no support for 64 bit and somewhere I read that one of the features got in place of 64 bit support was the separation of TFS from SQL Server machine or something like that. That plus the fact that there was only an AT folder on the installation media (no DT folder as in 2005 TFS installation media) made me think that there is nothing to install on the data tier. That was it. There is nothing to install on the data tier from the TFS 2008 installation media!

Then on to the Application Tier. Even though I uninstalled the TFS 2005 components, there still were application pools and stuff like that from previous installation hanging in there and conflicting. As soon as I start the TFS 2008 installation, I got this error:

TF220064: An error occurred while the Setup program was querying the settings from the server that is running SQL Server Reporting Services. This error is most likely caused by your account not having the required administrative permissions on the server that is running Reporting Services. Click Next to try again. For more information about this error, see the installation logs. For more information about the installation logs, see “Troubleshooting Installation for Team Foundation” in the Team Foundation Installation Guide.

The troubleshooting guide said there should be 2 files: Drive:\Documents and Settings\SetupAccount\Local Settings\Temp \dd_install_vstf_tfc_90.txt and another one.

That folder had only a .tmp file at that point. But the web pointed me to this link. And the solution was exactly that. I logged on to the data tier SQL Server and executed the following query:

USE TfsIntegration
GO
update tbl_service_interface
set url = replace(url, 'VANITYNAME', 'HOSTNAME')
GO

This is because the TFS was accessed using xyz.compnayname.com where xyz is not the hostname of the application tier server.

At this point the setup moved forward.

I also had to manually remove the old TFS AT server name from the STS_config_TFS database. To remove the entry from Servers table, you have to remove entry from Services table and may have to update Globals table before that.

Then the reporting services web site wouldn’t work because somehow the identity of the application pool was NT AUTHORITY\Network Service. Not the domain account I specified. Read this link if you get a similar error. The error was ”Cannot connect to the configuration database”.

I also needed to re-apply the identity of the reporting services web services by going to reporting services configuration -> Web services identity. The error was “The Report Server Web Service is unable to access secure information in the report server. Please verify that the WebServiceAccount is specified correctly in the report server config file.”

April 8th, 2009 — James

I am not sure what these files are. The only way to get rid of them is to close the VS.

vsmiscnowarn

March 24th, 2009 — James

vs2k8mem

March 6th, 2009 — James

I am a developer. I use many different versions of Visual Studio. I also use different browsers, beta versions etc. When I install a beta version of IE, I am not expecting my production version of Visual Studio to break down. But sadly, that is the case. I can fix it, but that is not the point.

vs2k8ie8