Buck Hodges

Visual Studio Online, Team Foundation Server, MSDN

  • Buck Hodges

    Visual Studio Team System Chat: April 9


    Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

    Add to Calendar

    April 9, 2008
    10:00 A.M. Pacific Time
    Additional Time Zones

  • Buck Hodges

    Teamprise 3.0 Ships!


    Martin Woodward write that Teamprise 3.0 has now been released!  If you want the equivalent of Team Explorer integrated into Eclipse on any platform or need a client from Linux or Mac, you'll definitely want to check out Teamprise.

    Here's a quick bullet list of features that I lifted from his post.  I'm particularly happy to see the new integration with Team Foundation Build.  It opens up the TFS build feature to teams that need to build on other platforms, in addition to the integration with Eclipse.

    • Full Team Foundation Build integration (including ability to execute Ant based builds)
    • Check-in policy support
    • Recursive folder compare
    • Single sign-on (from Microsoft Windows machines)
    • "Destroy" command for version control
    • Show deleted items and undelete from Source Control Explorer UI
    • much much more (see release notes)

    Martin says they have also improved the pricing structure for customers who only need a small number of licenses.

    Check out the full post for all of the details, including screenshots: Teamprise 3.0 Ships!

    Congratulations to Martin and everyone else at Teamprise!

  • Buck Hodges

    Account used to install TFS must have read permission to Active Directory


    We've seen a couple of customers run into a rare problem where the account being used to set up a new Team Foundation server does not have read access to Active Directory (this does not apply to the workgroup edition of TFS).  Vasu Sankaran, developer on the TFS identity management system, explains the error below.

    When Team Foundation Server (TFS) is deployed in an Active Directory (AD) environment, TFS makes use of the Windows Identities stored in Active Directory. For such AD identities associated with TFS, the server needs to retrieve information from AD, such as the account SID, its display name, mail address, and similar attributes. The identities about which TFS queries AD are either service accounts, or other users and groups added to TFS (manually or during installation). This synchronization of information with AD requires read privileges only. TFS does not create or modify AD objects. The following links provide useful information regarding TFS deployment in AD environment.

    During an upgrade scenario, the setup account used to perform the upgrade requires the same AD read permission, since it tries to sync information from AD about TFS service accounts. Lack of this privilege could lead to a setup error such as the following:

    Detailed Message: TF213002:The service account specified during setup could not be added to the Team Foundation Service Accounts group. The installation or repair failed with the following exception message: System.NullReferenceException: Object reference not set to an instance of an object.
    at Microsoft.TeamFoundation.Server.GroupComponent.AddIdentityToGroup(String groupSID, Identity member, DateTime sourceTimestamp)
    at Microsoft.TeamFoundation.Server.TeamFoundationGssInit.Install(Options opts, List`1 args)

    Admittedly, this is poor error reporting. But essentially the AD identity accessor is returning null for the service account when it attempts to retrieve information from AD, due to lack of permission. This is occurring when we try to add the service account to the Service Accounts TFS group, causing the null reference exception.

    Ensuring that the setup account has AD Read permission will solve this problem.

    Technorati Tags:
  • Buck Hodges

    MSBuild project analysis tool: BuildCop


    Jelle Druyts has created an interesting tool and made it available on CodePlex.

    Just Released: BuildCop v1.0!

    It is with great pleasure that I'm finally ready to release another open source tool on CodePlex: BuildCop.

    BuildCop is a tool that analyzes MSBuild project files (interactively or during e.g. a daily build) according to a customizable set of rules and generates reports - e.g. is strong naming enabled, are certain project properties set correctly, is XML documentation being generated, are assembly references correct, are naming conventions respected, ...

    This has grown out of a quick-and-dirty tool to check various build settings in a large customer project (to make sure that the developers were sticking to the guidelines), and has evolved into quite a clean, flexible and customizable tool that you can now start using as well.

    All information, downloads and documentation is available on the BuildCop homepage on CodePlex, so rush out and let me know what you think!

    Technorati Tags: ,
  • Buck Hodges

    TSWA: Providing multiple languages in a single installation


    Ed Blankenship asked a question recently regarding having multiple languages supported by the same TSWA instance. Hakan provided the answer, and both of them blogged it.

    Please note that this is not a supported configuration (i.e., that means we didn't test it, it could cause problems with uninstalling, etc.).

  • Buck Hodges

    Setting up Source Server for TFS Builds


    Jelle Druyts has posted a document describing how to set up source server for Team Foundation Build.  If you don't know what it is, read the MSDN magazine article that is the first link in his post.

    Check it out!

    Setting up Source Server for TFS Builds

    I've read about symbol servers and source servers before (in John Robbins' excellent Debugging Microsoft .NET 2.0 Applications book, for example, and also due to the recent news that Visual Studio 2008 will support source-code debugging of the .NET Framework Libraries), but never really got around to trying them out since they seemed pretty complex to set up. However, I've recently set up a source server on a Team Foundation build server (twice!), and my eyes have now gone wide open: anybody who references assemblies built by those TFS build servers can now seamlessly debug them.

    When an assembly is "source server-enabled", the pdb file will contain the full path and the exact version of the file in source control that was used to build that assembly. If the debugger then enters a method, Visual Studio automatically downloads that correct file, places it in a local cache, and opens it for debugging. This is super sweet!

    Now the hard work was already done and published by Roy Osherove, but there were some extra steps to take if you wanted to integrate this in a real Team Build (i.e. on the TFS build server instead of on a local machine) and it also lacked some additional information to get everything working. So I put together a full document that covers all aspects of setting up a source server, modifying the Team Build script, configuring the project files, and finally configuring the development machines.

    The full document (PDF) can be downloaded here, and you can read the one-page summary that briefly covers the required steps below. I cannot recommend setting up a source server enough, it's free and takes less than an hour if you simply follow the procedure, and the advantages are - hopefully - obvious.


  • Buck Hodges

    Team Foundation Build 2008 API documentation


    The documentation for the team build 2008 object model is now available as a CHM file.  Later this year, I'm told that the MSDN web site will be updated.

    http://download.microsoft.com/download/5/f/8/5f872c2e-4221-410b-b86e-4c3cd831b0c4/Team Foundation Build Managed Reference.chm

    After you download it you will need to right click it, choose Properties, and then select “Unblock” before you can view it.

    This documentation is newer than what Aaron posted back in August.

    The following are posts with examples of using the 2008 object model.

  • Buck Hodges

    HTTP 502 error when the server tries to connect to the build agent to start a build


    The following came up a couple of weeks ago, and I thought it would be worth posting for anyone else who hits the same or a similar problem.

    When I try to do a build using TFS Build I get this error:  TF215085: An error occurred while connecting to Agent \Shopping Catalog\Nightly Build: The request failed with HTTP status 502: Bad Gateway

    The solution was to set BypassProxyOnLocal in the registry for TFS on the server (application tier).  Note the version number, 9.0, is for TFS 2008.  This does not apply to TFS 2005, because the communication with the build agent is different in TFS 2008.



    Then run iisreset to make sure that the AT picks up the setting change.

    The following post talks about an unrelated topic, but it covers this setting too.  The context is normally the client rather than the server, but in this case the server is acting as a client and calling the build agent.

  • Buck Hodges

    Now available for TSWA 2008: Chinese, French, German, Italian, Japanese, Korean, and Spanish


    The final set of localized versions of the Team System Web Access 2008 Power Tool is now available.

    Here is a list of links to all of the localized releases of TSWA.

    We're always interested in what you think about the localizations, too.  If there are ways we can improve it, we would like to incorporate that feedback into TSWA as part of Rosario.


  • Buck Hodges

    MSBuild by Example


    Sayed Ibrahim Hashimi's book, Deploying .NET Applications, contains a chapter on MSBuild.  While I knew about the chapter in the book, I didn't realize that the chapter on MSBuild was available online until Eugene Zakhareyev mentioned it.

    If you are looking for a good way to get started with MSBuild, MSBuild: By Example is a good place to start.

    MSBuild: By Example

    Even if you have experience using an XML task-based build tool, such as Ant or NAnt, MSBuild is significantly different. In fact, MSBuild is different not only in execution but also in syntax. Therefore, to really get a feel for MSBuild, you must get your hands dirty using the tool. As you begin to explore what MSBuild has to offer to your projects, you will naturally seek more knowledge of MSBuild. This chapter will help you get your hands dirty by showing you several examples of how you can use MSBuild. Also, this chapter will present some important techniques for using MSBuild effectively. We will provide a variety of tips, covering topics such as integrating MSBuild into Visual Studio and formatting your output. These samples are set up to be mostly independent. This is because each sample expresses a set of specific ideas, so you will be able to examine and try each concept on its own. After this chapter, you should have a much greater feel for building your applications with MSBuild. Following this chapter, we will continue the coverage of MSBuild by showing how to use some of its more advanced features.


    You'll also want to read the article he wrote for MSDN Magazine, Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine.

    Finally, there are additional MSBuild resources, including an MSBuild wiki and additional tasks.

  • Buck Hodges

    Visual Studio 2008 Web Deployment Project (WDP) is now available


    The new Web Deployment Project that was released as a power tool for VS 2005 did not work with VS 2008.  Now there is a release of WDP that works with VS 2008.  If you were using the old one, be sure to get this important update.

    Announcing RTW version of Visual Studio 2008 Web Deployment Projects (WDP)

    In December 2007, we had released Community Technology Preview (CTP) version of  VS 2008 Web Deployment Projects... Thanks a ton to all of you in the community for being so active in adopting and trying the CTP versions of WDP... Since the December CTP we have been monitoring the blogs, MS Connect feedback system as well WDP forums to collect your feedback and then have been working over last month or so to incorporate it within the product...


  • Buck Hodges

    Updated post on how to filter checkin emails by paths


    I've made a significant update to the following post: Adding a path filter to a CheckinEvent subscription using bissubscribe.  The reason is that the paths supplied by the server aren't consistently cased while XPath is case-sensitive.  The result is that your subscriptions that filter based on paths will not work reliably without additional complexity, unfortunately.

  • Buck Hodges

    Visual Studio Team System Web Access 2008: French and German are now available


    A couple of days ago, we released TSWA in JapaneseFrench and German became available yesterday.  We'll be releasing more over the coming days.

  • Buck Hodges

    TFSBuild.com: Build "recipes"


    Grant Holliday has set up a great site for Team Build users to be able to contribute and find "recipes" to use in their builds.  Check it out!

    TFSBuild.com Build Recipes Launched

    Filed under: TFSBuild.com, Team Foundation Server — Grant Holliday @ 6:32 pm

    I’ve been thinking for a while that there’s not a lot of guidance out there on how to get Visual Studio Team Foundation Build (aka Team Build) doing more than just a compile.

    My first crazy thought was that I should write a book - then I got scared when I mapped out the chapters and realised how much effort would be required and the time-to-market. I’ll leave that all to somebody else.

    Instead, I registered the domain TFSBuild.com and setup the .NET ScrewTurn wiki. Here’s the introduction from the homepage:

    As a Build Master you’ve been put in charge of coming up with a central build system for your team. It can be quite daunting at first and you wonder “Where do I start?”.

    The purpose of TFSBuild.com is to create and share build recipes with other build masters so that we can all learn and benefit from each other’s experience.

    Since the site is called TFSBuild.com, there is a particular focus on MSBuild and Team Foundation Build scripts. But if you have a NAnt script or similar that you think others might find useful post it up.

    The site is published as a wiki and the idea is that anybody can register to add & update content.


  • Buck Hodges

    Visual Studio Team System Web Access 2008 in Japanese is now available


    Part of our plan for the TSWA 2008 Power Tool is to release localized versions.  Japanese is the first language to become available.  Chinese, German, Spanish, French, Italian, and Korean are currently planned for release over the next month.

    Here's the download page in Japanese, along with a link to it.

    Team System Web Access (以前の TeamPlain) は、Visual Studio 2008 Team Foundation Server の Web インターフェイスツールです。


    Team System Web Access 2008 は無料でダウンロードできます。Team System Web Access 2008 は、Team Foundation Server でライセンスされた環境にインストールできます。Team System Web Access 2008 を使って Team Foundation Server にアクセスするには、Team Foundation Server のライセンスされたユーザーである必要があります。

    • 新機能 : 作業項目、結果リスト、相違点、変更セットなどへの直接リンク
    • 新機能 : 作業項目フォーム上でのカスタム コントロールの表示
    • 新機能 : 新しくキューに配置されたビルドの表示、新しいビルドのキューへの配置
    • 新規作業項目の追加および既存作業項目の編集
    • カスタム作業項目を含むすべての種類の作業項目を操作可能
    • 新規作業項目クエリの追加および既存作業項目クエリの編集
    • SharePoint チーム ポータル上のドキュメントの表示、ダウンロード、アップロード、チェックイン、チェックアウト
    • レポートの表示、PDF 形式または Excel 形式でのエクスポート
    • ソース管理リポジトリの表示、ファイルのダウンロード、変更セット、相違点、履歴、および注釈ビューの表示
    • ビルド結果の表示、ビルドの開始および中止
    • 作業項目に含まれるキーワードの検索
  • Buck Hodges

    TSWA: Hakan now has a blog


    Hakan Eskici is the program manager for Team System Web Access.  He's now blogging, and his first post provides some history on how TeamPlain became TSWA.

    A little bit about myself and Web Access

    Some of you might already know that I'm the Program Manager on the Web Access team in Team Foundation Server product group.

    In March 2007, Microsoft acquired the company I had founded with Ahmet Akkas back in 2001. Ahmet, Serkan (one of our senior developers) and I, along with our families, moved to beautiful North Carolina in June 2007 and started to work in Microsoft's Raleigh office.

    The story starts in 2001, when my old time friend Ahmet Akkas and I had decided to start a software company in Izmir, Turkey. Our company was called devBiz.


  • Buck Hodges

    Team Foundation Power Tools for Team Foundation Server 2008 available now!


    Earlier today, we released the first version of the TFS Power Tools for TFS 2008!

    I want to highlight the build notification application.  This tool alerts you when a build is started or completed.  If the build breaks, you'll know immediately.

    I posted a preview of the build notification app back in September.  Based on feedback, we have fixed bugs (e.g., it now properly handles the user logging out or shutting down on Vista) and made improvements (e.g., you can now disable servers in the options dialog that you don't want).  See the preview post for more screenshots and details on how it works.

    See Brian's post for the full details on all of the featues on this release, which include support for destroying work items and work item type definitions.


  • Buck Hodges

    MSBuild Sidekick V2 beta


    Eugene Zakhareyev has released a beta of the second version of MSBuild Sidekick.  This version adds some unique features, including visualizing the build targets.  If you've ever had to pick up someone else's msbuild project files, you'll really appreciate this feature.

    Here's a screenshot of the target visualization from Visualization in MSBuild Sidekick v2.

    You can find out more about MSBuild Sidekick v2 in MSBuild Sidekick v2 beta is available!

    Be sure to check out the Team Foundation Sidekick as well.

    Technorati tags: ,
  • Buck Hodges

    How offline mode works in TFS 2008 version control


    Ben Ryan, a developer on the version control team, has written a couple of posts about the offline feature introduced in Team Foundation Server 2008 Version Control.  The first one in particular answers some questions that have come up.

    When and how does my solution go "offline"?

    TFS 2008 adds improved support for "offline" scenarios.  This blog post identifies the scenarios under which a solution will be placed in "offline" mode.



    How to make TFS Offline strictly solution-based

    For some users it may be a bit offputting that taking one solution offline causes all other solutions bound to that same server to go offline when they are opened (assuming no "Go Online" operations in the interim). 


  • Buck Hodges

    WiX to be included in the Visual Studio "Rosario" release


    Rob Mensching has written a post about the WiX toolset being included with the Rosario release of Visual Studio Team System.  WiX is part of the toolset used to create the installation packages for Visual Studio, as well as being one of the first open source projects ever at Microsoft.  Whereas Visual Studio setup projects (.vdproj) can only be built using devenv and thus require Visual Studio to be installed on the build computer, the WiX toolset supports msbuild via custom tasks.

    In the post, Rob goes over a series of questions and answers regarding WiX and Visual Studio to explain what's being included and when.  WiX is included in the November 2007 Rosario CTP.  By the way, that CTP doesn't include any new Team Build features, for those who were curious.  You'll have to wait for the next CTP to see what we're doing in Team Build.

    Visual Studio ships the WiX toolset.

    Well, four months ago the Visual Studio setup team approached me to ask if I could help them with that first part of the "Rosario" mission: "enhance collaboration between developers." They had already adopted the WiX toolset as the platform to build the Visual Studio installation package and were now seriously considering shipping the WiX toolset as part of the Visual Studio product. The VS team saw that the WiX toolset enabled developers to collaborate on installation package development and wondered what it would take get the WiX toolset in a state they could release and support for developers around the world.


  • Buck Hodges

    Building Ant projects with Team Foundation Build


    Martin Woodward has written a post on using Ant within Team Build 2008 and 2005.  He includes an initial release of the binaries and documentation.  This is great for the folks using Java with TFS!

    Building Ant projects from Team Build

    With the recent release of Microsoft Visual Studio 2008 Team Foundation Server we are seeing more and more people looking to use the build capabilities of TFS (often referred to as "Team Build") to manage their Java based builds as well as their .NET ones.  We have an MSBuild task available internally that we use to trigger Ant based builds and report the progress back into TFS, and I wanted to share this with a wider audience to get some feeedback.  This task is heavily influenced by Aaron Hallberg's Team Build DevEnv task which I encourage you to go look at if you are interested in getting other build systems integration with Team Build.

    You can download an early version of the Ant task from here (TeampriseBuild_0_8_0.zip 1MB).  There are two versions of the task included in the zip file - one for TFS2005 and one for TFS2008.  Additionally there is a draft set of instructions included on how to get this working today.  We hope to make the process much easier with future releases of Teamprise.


  • Buck Hodges

    Web Deployment Projects (WDP) for Visual Studio 2008 CTP


    [UPDATE 2/3/08] The final version is now available. 

    I know a lot of folks have used web deployment projects (WDP) with Team Build.  The WDP release for VS 2005 does not work with 2008.  The web developer team has just released a Community Technology Preview (CTP) of WDP for VS 2008.  Being a CTP, it's not fully tested.  However, they are looking for feedback before releasing the final version in January of 2008.

    Web Deployment Projects (WDP) for Visual Studio 2008 - December 2007 CTP Released

      Based on the feedback from web development community we just released the Customer Technology Preview (CTP) of Web Deployment Projects for Visual Studio 2008... This release of Web Deployment Projects (WDP) has all the features that VS 2005 WDP release has and in addition has few other enhancements which I will call out later in this post...

      We will be releasing the final version of Web Deployment Projects for Visual Studio 2008 in January 2008 after incorporating all the feedback that we receive via this Dec 2007 CTP release… This CTP is a substantial milestone as it will unblock lot of Web Developers, who depended upon WDP to go ahead and use the latest and greatest features of Visual Studio 2008…


      Visual Studio 2008 Web Deployment Projects is an add-in to Visual Studio 2008 which provides developers with advanced compilation and deployment options... A Web Deployment project is extensible, enabling web developers to create pre-build and post-build actions...

      Web Deployment Projects does not touch any shipping binaries within VS 2008… WDP neither changes the way Visual Studio 2008 Web Sites & Web Application Projects build nor does it changes the files in the source Web site project in any way... Instead, it takes an existing Web project as input and generate a precompiled Web as an output...


    Related post for VS 2005 users: Team Build and Web Deployment Projects

  • Buck Hodges

    Video on the new features in Team Foundation Build 2008


    There's a great new video on the MSDN web site by Richard Hundhausen that goes over the new features in Team Foundation Build 2008.  It's one of the featured videos this week.  The video covers the major new features and provides a great introduction to the product.

    How Do I: Learn the New Features and Capabilities of Team Foundation Build 2008?

    In this video, Richard Hundhausen explores the new features and capabilities of Team Foundation Build 2008, including defining and managing build definitions, agents, qualities, and retention policies.

    Presented by Richard Hundhausen on November 20, 2007
    Length: 14 minutes 33 seconds


    Video Downloads:

    ZIP | WMV | iPod | MP4 | 3GP | Zune | PSP

    You can find more Visual Studio Team System videos at "How Do I?" Videos for Team Suite.

  • Buck Hodges

    Team System Web Access 2008 Power Tool is now available


    Today we have released the final version of the Team System Web Access (TSWA) 2008 power tool!  Team System Web Access provides a web interface to Team Foundation Server 2008.

    Here's a list of feature changes.  Of course, we also fixed a number of bugs.

    • New direct links: Previously, you could construct a direct link to a work item (http://mytfs:8090/wi.aspx?id=123).  Now you can also construct direct links to more features, and the direct links no longer open the main TSWA page, making them more responsive.  Keep reading to find out how to use them.
    • Performance improvements: The code now uses server memory more efficiently, resulting in increased performance.
    • Custom work item controls: First introduced in the CTP, we have continued to refine support for custom work item controls in TSWA.  To take advantage of this feature, you'll need to implement web versions of your existing custom controls.  You'll find documentation for it in the SDK folder underneath the folder where you install TSWA.  The following examples have been added since the CTP, in addition to the samples for checkbox, a work item picker, and a multi-value selector.
      • How to validate a work item on the client-side (Javascript)
      • How to validate a work item on the server-side
      • How to design a control whose field depends on the values of other fields
      • How to design a control that changes other field values (such as the WI state) and saves the work item
    • Team Build 2008 support: Also introduced in the CTP, you can view the build queue and queue new builds, which are features that are new for TFS 2008.

    For those of you who remember the need for the TSWA users group in the installation of the TSWA 2005 power tool, you'll be happy to know that is gone.  That was something we had to add to satisfy security requirements, but we've since changed the code to handle the impersonation better such that impersonated user identities no longer need access to any of the local directories for cache files and user settings (i.e., the code reverts to the service account while it accesses those).

    Note that you need to install Team Explorer 2008 on the computer before installing TSWA 2008.

    Direct Links

    Here is the list of direct links and examples showing how to construct them.  The previous releases only supported direct links to work items, and Neno Loje has a great post on how to modify work item alert emails to use TSWA links.  The new direct links, such as diff, provide the ability to make the checkin email alerts really useful, too (more on that later).

    • Work item tracking
      • Work item editor
        • Open the existing work item with ID 1234: http://mytfs:8090/wi.aspx?id=1234 
        • Create a new work item of type Bug in team project TeamProject:  http://mytfs:8090/wi.aspx?pname=TeamProject&wit=Bug
        • Create a new work item of type Bug in team project TeamProject and link it to work items 1234 and 5678: http://mytfs:8090/wi.aspx?pname=TeamProject&wit=Bug&workitems=1234,5678
      • Query editor
        • Open the query editor to create a new query: http://mytfs:8090/qe.aspx?pname=TeamProject
        • Edit the existing public query (under "Team Queries") called "Team Bugs" (scope is either public or private, which corresponds to Team Queries or My Queries, respectively, in English systems): http://mytfs:8090/qe.aspx?pname=TeamProject&name=Team%30Bugs&scope=public
      • Query results
        • Execute the private query (under "My Queries") called "My Bugs": http://mytfs:8090/q.aspx?pname=TeamProject&name=My%30Bugs&scope=private
    • Version Control
      • Changeset details
        • Display the details for changeset 1234 by specifying the changeset number: http://mytfs:8090/cs.aspx?cs=1234
        • Display the details for changeset 1234 by specifying the artifact URI: http://mytfs:8090/cs.aspx?csuri=vstfs:///VersionControl/Changeset/1234
      • Shelveset details
        • Display the details for the shelveset MyChanges by specifying the shevleset name and owner separated by a semicolon:  http://mytfs:8090/ss.aspx?ss=MyChanges;domain\UserName
      • History
        • Display the version history of the file or folder identified by item ID 789: http://mytfs:8090/history.aspx?item=789
        • Display the version history of the file $/TeamProject/Secret/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/history.aspx?path=$/TeamProject/Secret/foo.cs 
        • Display the version history of the directory tree at $/TeamProject/Secret (history of a folder is recursive; specify del=N where N is the deletion ID if the folder is deleted): http://mytfs:8090/history.aspx?path=$/TeamProject/Secret 
      • Compare files (diff)
        • Display the differences between the latest version of two different files, identified by item IDs 789 and 3456 ("o" indicates the original version that will be displayed on the left, and "m" indicates the modified version that will be displayed on the right): http://mytfs:8090/diff.aspx?oitem=789&mitem=3456
        • Display the differences between two different versions of the same file, identified by item ID 789 and changesets 100 and 200: http://mytfs:8090/diff.aspx?oitem=789&ocs=100&mitem=789&mcs=200
        • Display the differences between the latest version of two different files, identified by path (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/diff.aspx?opath=$/TeamProject/Secret/foo.cs&mpath=$/TeamProject/SecretBranch/foo.cs 
        • Display the differences between two different versions of the same file, identified by path and changesets 100 and 200 (add the appropriate deletion ID, odel=N or mdel=M, for deleted files): http://mytfs:8090/diff.aspx?opath=$/TeamProject/Secret/foo.cs&ocs=100&mpath=$/TeamProject/SecretBranch/foo.cs&mcs=200
      • View file
        • View the contents of the file identified by the item ID 789: http://mytfs:8090/view.aspx?item=789
        • View the contents of the file $/TeamProject/Secret/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/view.aspx?path=$/TeamProject/Secret/foo.cs
      • Annotate (blame)
        • Display an annotated view of file $/TeamProject/Main/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/ann.aspx?path=$/TeamProject/Main/foo.cs
        • Display an annotated view of file $/TeamProject/Main/foo.cs up until changeset 123 (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/ann.aspx?path=$/TeamProject/Main/foo.cs&cs=123
        • Display an annotated view of file identified by item ID 789: http://mytfs:8090/ann.aspx?item=789
        • Display an annotated view of file identified by item ID 789 up until changeset 123: http://mytfs:8090/ann.aspx?item=789&cs=123

    I've started a series of posts called TSWA Tips to help folks get the most out of Team System Web Access.


    [Update 6/14/2008]  The latest version of the TSWA power tool supports viewing shelvesets, so I've added the shortcut link for that.

    [Update 2/06/2009]  Added a new work item URL that will link the newly created work item to the specified work items.

  • Buck Hodges

    Building VS 2008 projects with TFS 2005


    The question has come up a couple of times as to how to get a TFS 2005 build agent (the build agent is the service running on the computer) to build a Visual Studio 2008 solution.  When you try to do it, you get the following error.

    Solution file error MSB5014: File format version is not recognized.  MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.

    The TFS 2005 build agent finds msbuild.exe by asking the common language runtime (CLR) for its installing directory.  In VS 2008, the .NET framework version is 3.5, but the CLR remains at 2.0.  The result is that the code in TFS 2005 always finds msbuild.exe in the 2.0 .NET framework directory.  Since msbuild 2.0 does not recognize the version number in VS 2008 solution files, which was changed to 10.0, it produces the error message shown above.

    The TFS 2008 build agent will not work with a TFS 2005 server (application tier) because the communication protocol and the information required to run the build changed quite a bit.  As a result, you can't use a TFS 2005 server together with a TFS 2008 build agent.  We've actually included a setting in the TFS 2008 build agent that allows you to specify the path to msbuild.exe to deal with this issue in the future.

    I'll start by saying that I think the best "workaround" is to upgrade to TFS 2008.  There are lots of good reasons to do it, including lots of new features, performance improvements across the product, and a lot of bug fixes.  TFS 2008 is a significant improvement over TFS 2005 in all respects.  Having said that, I know not everyone is going to upgrade their servers immediately.

    The best workaround that I've seen is to create a "shim" msbuild.exe in the .NET 2.0 directory that invokes the msbuild.exe in the .NET 3.5 directory.  Mitch Denny posted this approach and the code to go along with it.

    Building .NET 3.5 Applications with Team Build 2005

    What I needed to do was create a program called MSBuild.exe which I could drop in on top of the .NET 2.0 version of MSBuild that simply took the arguments passed to it and call the .NET 3.5 version of MSBuild. It ended up being about 25 lines of code in a single mainline.


    MSBuild 3.5 will also build Visual Studio 2005 solutions with the 2.0 toolset, so you should be able to build either VS 2005 or VS 2008 solutions with this workaround.

Page 7 of 23 (573 items) «56789»