A Django site.
April 10, 2008
» Team System Web Access 2008 SP1 CTP and Work Item Web Access 2008 CTP are now available

Hakan has announced the availability of the new TSWA community technology preview (CTP) in his post, What's New in TSWA 2008 SP1.  Personally, I would say this release is beta quality or better, so don't let the CTP designation scare you too much.

Also released is the first CTP release of what we are calling Work Item Web Access (WIWA).  You may recall that we published a spec for it recently, referring to it as a "bug submission portal."  WIWA provides you with the ability to have folks create work items and view work items they have created without needing a client access license (CAL) for 2008.  This was a new condition that was added to the TFS 2008 license agreement.  Hakan has more details in his post on WIWA.

Both the CTP of TSWA and the CTP of WIWA have the same requirements as the previous release of TSWA 2008 (e.g., you must have Team Explorer 2008 installed as a prerequisite).

This release of TSWA has some really great new features.

  • Single instance with multiple languages
  • Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)
  • Share ad-hoc work item queries
  • Shelveset viewer
  • Improved search support

I want to call out two features in particular that I really like.

Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)

How often have you wanted users or testers to file bugs and needed to have them fill in certain fields with particular values so that the work item shows up in the correct area?  We now support providing field values in the new work item URL.  Here's the example that Hakan provided.

http://<server>/wi.aspx?pname=MyProject&wit=Bug&[Title]=Bug Bash&[AssignedTo]=Hakan Eskici&[Iteration Path]=MyProject\Iteration2&[FoundIn]=9.0.30304

This will open a new work item editor window with the following initial values:

  • Team Project = MyProject
  • Work Item Type = Bug
  • Title = Bug Bash
  • Assigned To = Hakan Eskici
  • Iteration Path = MyProject\Iteration2
  • Found in Build = 9.0.30304

Now you can start sending your users and testers a link with all of this already filled in!

Improved search support

Have you ever wanted to search for bugs assigned to someone in particular or in a particular area without writing a query?  In the past, you could only search the Title and Description fields in a work item, which I described here.  Now you can enter the following into the search box in TSWA to find any bug assigned to me that also has the word "exception" in the Title or Description.

exception a="Buck Hodges"

The core fields have shortcuts.  Any field can be used by specifying the reference name for the field.  Here's the equivalent without using the shortcut.

exception System.AssignedTo="Buck Hodges"

Here are the shortcuts for the core fields.

  • A: Assigned To
  • C: Created By
  • S: State
  • T: Work Item Type

You can use TFS macros, such as @me, in search.  For example, find all work items containing "watson" in the Title or Description that are assigned to me that are in the Resolved state and are work items of type Bug.

watson a=@me s=Resolved t=Bug

Now, if you really want to do something cool, there are the "contains" and "not" operations.  The "=" operator matches exact phrases, whereas the ":" operator is used for "contains" clauses.  The following search looks for bugs assigned to Active (i.e., not assigned to any particular person yet) where the word "repro" is contained in the History field.

a=Active History:repro

This example illustrates the difference between the two operators.  The first example finds all work items where the Title is exactly "Bug Bash" with no other words or characters in it.  The second example, which uses the contains operator (colon) rather than the exact match operator (equals), finds all bugs where the Title contains the phrase "Bug Bash" along with any other words or characters.

  • Title="Bug Bash"
  • Title:"Bug Bash"

Personally, I find myself almost always using the contains operator.

Finally, you need to be able to exclude certain things from your search.  For that, there is the not operator, which is represented by the hyphen ("-").  The following example finds all work items with "watson" in the Title or Description fields that are not assigned to me and that are not closed.

watson –a=@me –s=closed

The not operator only works with field references, so you can’t use the following to find all work items containing "watson" but not containing "repro" in the Title and Description fields.

watson –repro

However, you can accomplish this by specifying the Title field explicitly with the not operator.

watson –Title:repro

Please send us your feedback on both the new features and Work Item Web Access!

March 20, 2008
» 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

February 5, 2008
» 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.

Enjoy!

February 2, 2008
» 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.

January 31, 2008
» 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 ??????????
  • ??????????????????????????????????????????????????
  • ????????????????????
  • ?????????????????

January 30, 2008
» 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.

more...

December 4, 2007
» 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.

more...

November 28, 2007
» Visual Studio Team System chat - December 5, 2007

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. Hopefully, there will be a fair amount of discussion around the newly release 2008 version.

I'm planning to be in the first chat.

There will be two chat sessions.  Note that I have posted the times in the Eastern US time zone.

November 21, 2007
» How to uninstall VS 2008 Beta 2 before installing the final version of VS 2008

There have been a few questions about how to correctly uninstall all of VS 2008 Beta 2 in order to install the final version of VS 2008.  Scott Guthrie posted the steps for doing this earlier today.  A subset of this list would apply if you have installed Team Foundation Team Explorer 2008 Beta 2, rather than the full VS 2008 with Team Explorer.

At the end he recommends rebooting after removing everything and before installing VS 2008.  From my experience, that's good advice.  The only thing additionally I've typically done after uninstalling a non-RTM build is to delete the VS 9.0 registry hives (HKLM and HKCU) and the VS 9.0 directory under "Program Files."  Of course, there are no guarantees with this, editing the registry may render your machine nonfunctional, etc., so be careful and back up your data.

Steps to Uninstall VS 2008 Beta2 before installing the VS 2008 Final Release

A few people have pointed out to me that there are other smaller setup packages that are optionally installed by Visual Studio 2008 Beta2 that you should also look to uninstall (it isn't always required to-do this - but it is best to always do this to be safe).  A complete list of these additional setup packages (along with uninstall instructions) can be found here

Below is the complete list of potential Beta2 components to uninstall (as well as the recommended uninstall order of them):

  • Remove "MSDN Library for Visual Studio 2008 Beta"
  • Remove "Microsoft SQL Server Compact Edition 3.5"
  • Remove "Microsoft SQL Server Compact Edition 3.5 Design Tools"
  • Remove "Microsoft SQL Server Compact Edition 3.5 for Devices"
  • Remove "Microsoft Visual Studio Performance Collection Tools"
  • Remove "Windows Mobile 5.0 SDK R2 for Pocket PC"
  • Remove "Windows Mobile 5.0 SDK R2 for Smartphone"
  • Remove "Crystal Reports 2007"
  • Remove "Visual Studio Asset System"
  • Remove "Microsoft Visual Studio Web Authoring Component / Microsoft Web Designer Tools"
  • Remove "Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime"
  • Remove "Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime Language Pack" (non-English editions only)
  • Remove "Microsoft Visual Studio Tools for Office Runtime 3.0"
  • Remove "Microsoft Document Explorer"
  • Remove "Microsoft Document Explorer 2005 Language Pack" (non-English editions only)
  • Remove "Microsoft Device Emulator 3.0"
  • Remove "Microsoft .NET Compact Framework 3.5"
  • Remove "Microsoft .NET Compact Framework 2.0 SP1"
  • Remove ".NET Framework 2.0 SDK"
  • Remove "Microsoft Visual Studio Codename Orcas Remote Debugger"
  • Remove "Microsoft Visual Studio 64bit Prerequisites Beta" (64-bit platforms only)
  • Remove "Microsoft .NET Framework 3.5"
  • After you finish uninstalling any and all of the above items, I'd recommend rebooting prior to installing the final VS 2008 and .NET 3.5 release to make sure there is no setup state still on the machine.

    If you run into any problems with either installation or uninstall, please make sure to post in the Visual Studio 2008 Setup and Installation Forum on MSDN.

    Technorati tags: ,

    November 18, 2007
    » How would you prioritize features for MSBuild?

    Dan Moseley, a developer on the MSBuild team, wants to know how you would prioritize features for the next version of MSBuild by asking, How would you spend $100 on MSBuild?  The release of Visual Studio 2008 is imminent, which means the product teams are beginning to work on the future, and he posts about some of the features that they are considering.

    How would you spend $100 on MSBuild?

    We're currently planning for our next version (aka, "Dev10" - no code name this time) and subsequent releases. In that spirit, I'd like to do a quick poll of MSBuild aficionados to help us keep our "vision" for MSBuild aligned with yours, our customers.

    First, a caveat - while ideally I would like to rank the results and work down the list, the reality is that we have other constraints: although we are a separate build platform, our biggest customer by far is Visual Studio and its customers. There's a lot more Visual Studio users than direct MSBuild users, so when Visual Studio needs to add a feature that requires work on MSBuild, we have to help. Then there's other constraints, like team resources. There's no guarantee which of these will appear in what version, and some of them may not be worth any investment. Some of them I just made up.

    OK. Here’s some brainstormed features.

    more...

    This is a great opportunity to influence the future of MSBuild, so be sure to post your opinion.  I've posted my own take on this in the comments to Dan's post.

    Technorati tags:

    November 6, 2007
    » TFS 2008 ships this month

    Yesterday, Soma announced that VS 2008 and TFS 2008 ship this month.  Prior to that, we had only said it would ship by the end of this year.  It's going to be an exciting month.

    Not long after TFS 2008 ships, we're going to ship the final version of the Team System Web Access 2008 Power Tool, and it includes a few new features.  I'll write more on those later.

    Microsoft Commits to November Release Date for Visual Studio 2008 and the .NET Framework 3.5

    Microsoft expands interoperability options for partners, delivers new innovations with Microsoft Sync Framework and Popfly Explorer releases.

    BARCELONA, Spain — Nov. 5, 2007 — Today, during the keynote address at Microsoft TechEd Developers 2007, S. “Soma” Somasegar, corporate vice president of the Developer Division at Microsoft Corp., announced that Microsoft will release Visual Studio 2008 and the .NET Framework 3.5 by the end of November 2007. Visual Studio 2008 and the .NET Framework 3.5 enable developers at all levels to rapidly create connected applications that offer compelling user experiences for Windows Vista, Windows Server 2008, the 2007 Microsoft Office system, mobile devices and the Web.

    more..

    Technorati tags: ,

    October 8, 2007
    » Extracting the Visual Studio 2005 Team System SP1 VPC image

    [UPDATE 10/10/2007]  MSDN has been updated with a new set of files with the naming issue corrected (see forum post).  It may take a few days for it to propogate to all of the MSDN servers. 

    *****

    Reid, a customer, sent me email about a problem with using the Visual Studio 2005 Team System SP1 VPC image from the MSDN subscription site.  I forwarded the email and found out that folks are looking into it.  Until it gets fixed, here's the process to successfully extract the image.

    The files listed for download for the SP1 image are:

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.exe

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_2of3.rar

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_3of3.rar

    However, to get the .exe to extract the necessary files you need to do some file renaming to get the files to extract correctly.  The changes are all in the "x of y" portions of the file names.

    Rename

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.exe

    to

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of1.exe

    Rename

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_2of3.rar

    to

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of2.rar

    Rename

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_3of3.rar

    to

    en_visual_studio_2005_team_system_with_service_pack_1_rtm_vpc_1of3.rar

    Hopefully, it won't be long until the problem is fixed, and this becomes unnecessary.  Thanks for sharing this, Reid.

    October 2, 2007
    » Operations Guidance for TFS

    Jeff Beehler has announced that we have now published guidance for operations.  In addition to all of the great information in there, it provides a great summary of TFS links (see the bottom of the article in particular).

    Operations Guidance for TFS

    The Team System Rangers have done it again.  Their mission is the accelerate adoption of Team System so they're always on the look out for those things that might be blocking customers from deploying and using our tools.  Based on repeated customer requests, they've been focused recently on collecting the scattered documentation from various Microsoft sources to provide a single point of entry into the world of TFS Operations as well as our recommended operational best practices.  The team working on this project consisted of folks from the product team as well as Microsoft Consulting Services so it reflects both the product expertise as well as the deep customer experience that has become the hallmark of Ranger projects. 

    Please take a look at this and let us know what you think: http://msdn2.microsoft.com/en-us/library/bb663036(VS.80).aspx

    Technorati Tags: , ,

    September 22, 2007
    » Team System Web Access for TFS 2008 CTP released

    Team System Web Access for TFS 2008 Power Tool CTP is now available!

    For TFS 2008, TSWA will continue to be a power tool through the TFS 2008 release.  For the release after that, it will be a part of the regular product.  The final release of the TSWA for TFS 2008 power tool will happen near the time TFS 2008 ships, which we've stated is by the end of this year.

    The big news with this release is the support for custom controls in work item forms.  When you install TSWA, you will find a subdirectory in the installation directory that contains the SDK documentation, which describes the interface, JavaScript functions, etc.  There are also several examples provided, including a checkbox, a work item picker, and a multi-value selector.  You will not be able to use existing custom controls as they are, because those are WinForms based and TSWA requires web-based controls.  However, the same basic concepts apply.  Please try this and let us know what you think!

    We've also fixed a number of bugs and added support for some of the new Team Build functionality in TFS 2008 (queuing builds and viewing the build queue).  This should be a solid release.

    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.  The previous release required Team Explorer 2005.

    Visual Studio Team System Web Access 2008 Power Tool CTP

    Overview

    Team System Web Access is a free download that will be incorporated into a future release of Visual Studio Team System. You may install it with licensed installations of Team Foundation Server. You must be a licensed user of Team Foundation Server to access Team System Web Access.
    Features

    • NEW: Display custom controls on work item forms
    • NEW: view queued builds new, queue new builds
    • Add new work items or edit existing ones
    • Work with any type of work item, including custom ones
    • Add new work item queries or edit existing ones
    • View, download, upload, check-in and check-out documents on SharePoint team portal
    • View reports, export as PDF or Excel
    • Browse source control repositories, download files, view changesets, diffs, histories, and annotated views
    • View build results, start or stop builds
    • Search for keywords in work items

    Enjoy!

    September 11, 2007
    » VSTS 2005 and 2008: Building Database Projects with Team Build

    Jon Liperi, a tester on Team Build, has put together the post below that explains a number of the issues around using Visual Studio Team Edition for Database Professionals (DBPro) with TFS Build.  Jon previously worked on the DBPro team, so he knows his way around it quite well.  Here are the issues that he covers.

    • Issue #1: Team Build service account does not have the required SQL Server permissions or cannot connect to SQL Server
    • Issue #2: Values for TargetDatabase, TargetConnectionString, or DefaultDataPath are missing or incorrect
    • Issue #3: The New Build Definition dialog does not provide a “Default” configuration option
    • Issue #4: The Deploy target is not invoked when built via Team Build
    • Issue #5: Database Unit Tests cannot find database project files, data generation plans, or the database instance(s) to be used for running tests when run via Team Build

    This information applies to both the 2005 (8.0) and the 2008 (9.0) versions of VSTS and TFS.

    Building Database Projects with Team Build by Jon Liperi

    Recently, we have seen more questions about building database projects with Team Build. It is absolutely possible to build these project types with Team Build. However, you’ll need to have VSTE for Database Professionals (aka DBPro) and SQL Server installed on the build agent. There are also several known issues. In this blog post, I’ll describe these issues and their workarounds. Please let me know if there are additional issues you encounter or if the work-around steps need a bit of correction by commenting on this blog entry or posting on the Team Build forum:

    http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=481&SiteID=1

    To start, I’ll point you to a few links specific to database projects, including some existing documentation around Team Build integration.

    Visual Studio Team System Database Edition (MSDN documentation)
    http://msdn2.microsoft.com/en-us/library/aa833253(VS.90).aspx

    How to: Deploy Changes using Team Foundation Build (MSDN documentation)
    http://msdn2.microsoft.com/en-us/library/aa833289(VS.90).aspx

    Visual Studio Team System - Database Professionals Forum
    http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1

    Issue #1: Team Build service account does not have the required SQL Server permissions or cannot connect to SQL Server

    Database projects create a scratch database on the local SQL Server instance when building. Therefore, the build will fail if the Team Build service account does not have the appropriate permissions on the SQL Server instance running on the build machine. You may see an error message similar to the one below in the build log:

    The "SqlBuildTask" task failed unexpectedly.

    Microsoft.VisualStudio.TeamSystem.Data.Common.Exceptions.DesignDatabaseFailedException: You have insufficient permissions to create the database project. For more information, see the product documentation.

    To resolve this issue, grant the required SQL Server permissions to the Team Build service account. In Orcas, the Team Build service runs by default as NT AUTHORITY\NETWORK SERVICE. A quick way to fix this is to create a SQL login for the service account that has sysadmin privileges. However, if you want to grant only the minimal permissions, detailed SQL Server permissions for DBPro are described here:

    http://msdn2.microsoft.com/en-us/library/aa833413(vs.90).aspx

    Additionally, you may need to ensure that a necessary registry key, which points to the local SQL Server instance to use for build, exists on the build machine. To configure the build account’s HKCU hive to point to the correct instance, you can either:

    1. Start the Visual Studio IDE as that user. Set the instance name by opening Tools | Options and navigating to Database Tools | Design-Time Validation Database.
    2. Run the following command from a command prompt.
      (Note: You may need to replace 9.0 with 8.0 depending on the version of DBPro you are using.)

      runas /user:<Team Build service account> "REG ADD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\DBPro\DialogPage\Microsoft.VisualStudio.TeamSystem.Data.DBProject.Settings.DataConnectionOptionsSettings /v DefaultSqlServerName /d <instance name>"

      The value for <instance name> is just the name of the instance. For example, if the instance is “.\SQLEXPRESS”, replace <instance name> with “SQLEXPRESS”. If it is an unnamed instance, enter an empty string.

    Issue #2: Values for TargetDatabase, TargetConnectionString, or DefaultDataPath are missing or incorrect

    Database projects store any non-default values for the TargetDatabase, TargetConnectionString, and DefaultDataPath properties in a <ProjectName>.dbproj.user file which is not checked into version control (as the values may be different for each user). Therefore, these values are missing when built via Team Build resulting in the following error message:

    TSD257: The value for $(DefaultDataPath) is not set, please set it through the build property page.

    To build successfully from Team Build, you must either:

    1. Copy these properties from the <ProjectName>.dbproj.user file and add them to the <ProjectName>.dbproj file for the configuration that you want to build.
    2. Pass these properties as MSBuild command line arguments by entering them in the Queue Build dialog (Orcas only) or by storing them in the TFSBuild.rsp file. For example:
      /p:DefaultDataPath=<path>; TargetDatabase=<databaseName>;AlwaysCreateNewDatabase=true;TargetConnectionString="<connection string>"

    Issue #3: The New Build Definition dialog does not provide a “Default” configuration option

    Database projects do not define Debug or Release configurations. They only define “Default”. When creating a new build definition, you may notice that the only listed options are “Release” and “Debug”. To work-around this, you can either:

    1. Manually type in “Default” in the dialog.
    2. Ensure the “Release” and “Debug” solution-level configurations are set to build the “Default” configuration of the database project.

    Issue #4: The Deploy target is not invoked when built via Team Build

    The default target executed by MSBuild is Build. Therefore, database projects may not deploy by default when built via Team Build. To invoke the Deploy target from Team Build, you must either:

    1. Ensure your solution configuration is set to invoke both the Build and Deploy targets on the database project.
    2. Override AfterDropBuild to explicitly invoke the Deploy target. Instructions for overriding Team Build targets can be found at:
      http://msdn2.microsoft.com/en-us/library/aa337604(VS.90).aspx
    3. Modify the TFSBuild.proj file to list the individual projects to build and their targets instead of listing the entire solution. For example:
      <SolutionToBuild Include=”foo.dbproj”>
      <Targets>Build;Deploy</Targets>
      </SolutionToBuild>
    4. Edit the .dbproj file to make the DefaultTargets in their dbproj file Build;Deploy. For example:
      <Project DefaultTargets=”Build;Deploy”...>
      This would apply outside of Team Build as well, but it would have the desired effect.

    Issue #5: Database Unit Tests cannot find database project files, data generation plans, or the database instance(s) to be used for running tests when run via Team Build

    Database unit tests provide the ability to deploy a database project and/or run a data generation plan prior to running tests. Database unit test projects store the location of the referenced .dbproj and .dgen files as relative paths in the app.config file.

    When building a database project using Team Build, the output and source files are stored in a different directory structure on the build machine. The test files are located in a TestResults folder while the source files are located in a Sources folder. When the unit tests are run from the TestResults folder, the relative path to the referenced .dbproj and/or .dgen files in the <assemblyname>.config file is no longer correct. This causes the tests to fail with one of the following messages:

    Database deployment failed. Path ‘<path>\Database1.dbproj' is not a valid path to a database project file.

    Data Generation failed. Path '<path>\Data Generation Plans\DataGenerationPlan1.dgen' is not a valid path to a data generation plan file.

    Additionally, the app.config file also stores connection string information that points to the SQL Server instance to be used for running tests. If the connection strings are not valid when the tests are run from the build machine during a Team Build, the unit tests will fail with the following message:

    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.

    (Note that you may want the connection string to change depending on if they are running locally or through Team Build. For example, you may want tests to use your local SQL Server instance during development but use a remote shared instance when running via Team Build. The solution to this issue can also be used to achieve this result.)

    To fix this issue, users need to manually create an app.TeamBuild.config file with the correct path locations and connection strings to be used when builds are created via Team Build. This file will then be renamed to <AssemblyName>.config through a post-build target, overwriting the .config file that contains the incorrect values.

    1. Create a file named app.TeamBuild.config by copying the existing app.config in your unit test project. Add it to your unit test project in version control.
    2. In the app.TeamBuild.config file, change the relative path to the .dbproj and .dgen files by adding a folder level for the Sources folder and a subfolder with the same name as the solution. For example,

      Before:
      "..\..\..\Database1\Data Generation Plans\DataGenerationPlan1.dgen"

      After:
      "..\..\..\Sources\Database1\Database1\Data Generation Plans\DataGenerationPlan1.dgen"

      Before:
      "..\..\..\Database1\Database1.dbproj"

      After:
      "..\..\..\Sources\Database1\Database1\Database1.dbproj"

      Additionally, you can modify the connection strings in the app.TeamBuild.config to the strings that should be used from the Team Build machine. Check the changes back into version control.
    3. Check out the unit test project file and modify the end of the file to include these lines right before the </project> tag. Check the changes back into version control.
      (Note: You may need to replace v9.0 with v8.0 depending on the version of DBPro you are using.)

      <Import Condition="'$(TeamBuildConstants)' != ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\TeamData\Microsoft.VisualStudio.TeamSystem.Data.TeamBuildTasks.targets"/>

      <Target Name="AfterBuild" DependsOnTargets="$(AfterBuildTeamBuildTargets)">
      </Target>

    4. On the Team Build machine, create a file with the code below and name it Microsoft.VisualStudio.TeamSystem.Data.TeamBuildTasks.targets. Save the file in folder %Program Files%\MSBuild\Microsoft\Visual Studio\v9.0\TeamData
      (Note: You may need to replace v9.0 with v8.0 depending on the version of DBPro you are using.)

      <?xml version="1.0" encoding="utf-8"?>

      <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

      <UsingTask TaskName="DataGeneratorTask" AssemblyName="Microsoft.VisualStudio.TeamSystem.Data.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

      <PropertyGroup>
        <AfterBuildTeamBuildTargets>RenameTeamBuildConfig</AfterBuildTeamBuildTargets>
      </PropertyGroup>

      <ItemGroup>
        <__TeamBuildConfig Include="$(OutDir)$(TargetFileName).config"/>
      </ItemGroup>

      <Target Name="RenameTeamBuildConfig">
        <CreateItem Include="app.teambuild.config">
          <Output ItemName="TeamBuildAppConfig" TaskParameter="Include" />
        </CreateItem>
        <Copy SourceFiles="@(TeamBuildAppConfig)" DestinationFiles="@(__TeamBuildConfig)" />
      </Target>

      <Target Name="DataGen">
        <DataGeneratorTask
         ConnectionString="$(ConnectionString)"
         SourceFile="$(SourceFile)"
         PurgeTablesBeforePopulate="$(PurgeTablesBeforePopulate)"
         Verbose="$(Verbose)" />
      </Target>

      </Project>

    August 2, 2007
    » Deleting test results from a build

    In either TFS 2005 or TFS 2008, you can delete the test results published against a build (How to: Publish Test Results).  However, discovering this feature may be difficult, and I didn't find it on MSDN in a quick search of the docs.

    What you'll need to do is to bring up the build details (aka the build report) in Visual Studio.  Then expand the test results, right click on the link to the Test Run and choose Delete.

    deleting test results from a build

    July 30, 2007
    » Team System Web Access (formerly TeamPlain) power tools release is now available!

    [UPDATE 7/31/2007]  I've updated the link with the main MSDN page for TSWA.  There's also an FAQ now. 

    We have just released Team System Web Access power tool for TFS 2005!  You can download it now.

    Team System Web Access (formerly known as TeamPlain) is a Web interface to Visual Studio 2005 Team Foundation Server.

    Feature Overview

    • Add new work items or edit existing ones
    • Work with any type of work item, including custom ones
    • Add new work item queries or edit existing ones
    • View, download, upload, check-in and check-out documents on SharePoint team portal
    • View reports, export as PDF or Excel
    • Browse source control repositories, download files, view changesets, diffs, histories, and annotated views
    • View build results, start or stop builds
    • Search for keywords in work items
    Authentication Modes
    • Integrated Windows Authentication
    • Forms Based Authentication (Recommended to use with SSL)

    We hope you enjoy this release and let us know what you think!

    July 26, 2007
    » Visual Studio 2008 Beta 2 is now available and includes a "go live" license!

    Visual Studio 2008 Beta 2, including Team Foundation Server 2008, is now available for download.  As mentioned in Soma's post, Beta 2, unlike beta 1, includes the "go live" provision in the license, meaning that you can use it in production.  We've been using TFS 2008 beta 2 on our main internal dogfood server now for the last two months (well, it's close to being the same as beta 2 -- it's actually an very early snapshot).  You can check out the stats in Brian's post.

    When Beta 1 was released, I put together a list of links about the Team Build features in Orcas.  If you are looking for a list of links related to TFS 2005, you can find those here (and Jeff has posted links to the TechEd 2007 presentations).

    Here's my updated list of links about Team Build features in TFS 2008 (check out Brian's post for a list of all TFS 2008 features).  If you have questions or feedback about anything in beta 2, please let us know (either here or in the forum).  We're anxious to hear what you think!

    Overview of features in Build for TFS 2008

    Demos

    Vista Sidebar Gadgets to monitor builds (we're working on an equivlaent to CCTray)

    Details on how things work, customizations, etc.

    Object Model API

    Using the API via PowerShell