MSDN Keeps getting better

The documentation on MSDN Library continues to rev, as our hard working User Education folks have been hard at work! Below are some recent updates in the Visualization and Modeling SDK, as well as improvements and additions to our Testing docs and Virtual Lab documentation.

The team is making heavy use of diagrammatic visualizations in much of this new documentation, which really helps land some of the more complicated aspects of the topics. It is really looking great!



Visualization and Modeling SKK – Domain Specific Languages

New Sample: Electronic Circuit Diagrams

The sample is available at the VMSDK site on Code Gallery.


  • Copy, cut and paste preserving layout
  • Embed diagram in a Windows Form in Visual Studio
  • Couple model to external form by using Events
  • Drop tool on element
  • Text wrapping
  • Dynamic node images
  • Shape alignment command
  • Composite elements
  • Validation
  • Menu commands and double-click

Getting Started with Domain-Specific Languages

Walk through creating a basic graphical DSL and use it to generate code or other files.

How to Define a Domain-Specific Language

All the steps in one place!

Customizing and Extending a DSL - and its sub topics - customizing presentation on the diagram, element creation, link creation, copy and paste, deletion, properties window, model explorer.

To tune the DSL for your application area, you can adjust what it looks like, how it responds to users' commands, and how it interacts with other tools.

Microsoft.VisualStudio.Modeling.Diagrams namespace

The header material now has class diagrams and summaries of the most important types, making it easier to find your way around.

Several of the key types now have extended and more useful descriptions.

Navigating and Updating a Model in Program Code

A DSL provides an API on its model. You use the API to integrate the DSL with other Visual Studio tools, and to implement menu commands and other customizations.


Write constraints to warn your user when the model is not correct.

Propagating Changes

Write rules to keep different parts of a model in synch; write events to synchronize external tools with the model.

Customizing File Storage and XML Serialization

Customize how your users' models are stored on files.

Integrating Models by using Visual Studio Modelbus

Explains how to make links between models, and how to navigate the links in program code.

You can also integrate with models created with the UML and Layer Diagram tools.

Generating Code from a DSL

It's very easy to generate text files such as program code, configuration files or reports from a DSL and from UML diagrams.

Sharing Classes between DSLs using a DSL Library

If you're building several integrated DSLs, you can share parts of their definitions in a common library file.


Testing the Application

How to: Install the Required Software to Create a Video

Updated the existing topic on installing the encoder used to record video sessions. The topic describes the steps required to install the new Expression Encoder 4.0 diagnostic data adapter which is replacing the Windows Media Encoder diagnostic data adapter. This is critical because the Windows Media Encoder is no longer supported and any new video links and video recordings contained in a work item bug that are filed from an instance of Microsoft Test Manager with the new diagnostic adapter installed, will not function when accessed from a machine that does not have the new diagnostic data adapter installed.

How to Record a Video of Your Desktop as You Run Tests Using Test Setting

Updated the existing topic on recording the desktop while performing a test demonstrating the configuration changes due to using the new Expression Encoder 4.0 diagnostic data adapter.

Test Controller and Test Agent Requirements

New topic that covers the hardware and software requirements for test controllers and test agents with tables that provide guidance based on the number of virtual users and other requirement considerations.

How to: Specify the Network Adapter to Use on a Test Controller or Test Agent with Multiple Network Adapters

New topic that describes how to edit the associated XML configuration files for test controllers and test agents in situations where the machine has more than one network adapter card. This helps to resolve the following error:

Error 8110. Can not connect to the specified controller computer or access the controller object.

How to Specify Timeout Periods for Test Controllers and Test Agents

New topic that provides information on editing the associated XML files for test controllers and test agents to modify key timeout values. The various timeout settings are covered in tables with the XML key name, descriptions and the value settings. This information is helpful when resolving errors and issues caused by timeouts. For example, the test controller’s key name AgentConnectionTimeoutInSeconds is used to specify the Number of seconds to wait for agent ping request before connection is considered lost.

tcm: Importing and Running Automated Tests for a Test Plan from the Command Line

tcm: Importing Automated Tests into Test Cases

tcm: Running Tests from a Test Plan Using the Command Line Utility

tcm: Listing test plans, test suites, test configurations, and environments

Four all new reference topics for the tcm command line tool detailing all the available options.

How to: Run Automated Tests on Multiple Computers at the Same Time from a Test Plan

New topic that explains how to run tests on multiple computers and how the tests are distributed based on your environment.

Installing and Configuring Visual Studio Agents and Test and Build Controllers

Many updates and improvements to this topic to better cover installation to workgroups and multiple domains and important notes for installation issues. Also improvements to the layout and flow.

Using a Virtual Lab in Your Application Lifecycle

Planning Your Lab

Presents guidelines for planning the capacity and typology of your virtual lab.

Customizing Your End-to-End Workflow

Explains how to customize the default workflow template (LabDefaultTemplate) by adding new activities, defining new arguments, and passing in values.

Team Foundation LabManagement Activities

Describes the 24 LabManagement activities that you can add to the default workflow template (LabDefaultTemplate) when customizing the template for your requirements.