Blog - Title

Visual Studio 2013 Current Status

  • The Ultimate Visual Studio Tips and Tricks Blog

    Technical Articles for Visual Studio Application Lifecycle Management


    Just came across these the other day and wanted to share below is the information verbatim from



    Welcome to the technical articles for Application Lifecycle Management! These technical articles provide additional resources for you to use when supporting your development efforts with Team Foundation Server. Some provide in-depth technical information about unique scenarios that involve Visual Studio Application Lifecycle Management. Others provide insights into development processes and philosophies from industry experts that you might want to consider when developing your software or working as a team on a software project. These articles represent the viewpoints, opinions, and experience of their individual authors.


    Agile Principles

    • Agile Principles and Values, by Jeff Sutherland. Jeff Sutherland provides an overview of the Agile principles as defined in the Manifesto for Agile Software Development.

    • Ten Year Agile Retrospective: How We Can Improve in the Next Ten Years by Jeff Sutherland. Ten years after the publication of the Agile Manifesto, Jeff Sutherland describes the successes of Agile and pinpoints four key success factors for the next ten years.

    • Done and Undone by Ken Schwaber and David Starr. Delivering a done increment is critical to being successful with agile software development. Using both real-world and theoretical examples, the authors demonstrate the difference between perception of "done" and the reality of "done," and how that affects the success of a project. Using these examples, the authors go on to demonstrate tools and strategies that can help teams start with a definition of done that makes sense for them, and methods to help teams communicate dependencies, status, and the meaning of "done."



    Agile Practices

    • Building and Managing the Product Backlog by Mitch Lacey. A good product backlog is at the heart of any well-functioning agile team. In this article, Mitch Lacey explains the importance of a product backlog, describes what makes a good backlog, and provides some best practices for creating and maintaining your backlog.

    • Prioritization by Mitch Lacey. In this article, Mitch Lacey discusses three methods that have proven very beneficial for many Agile teams: the Kano Model of Customer Satisfaction, a series of Innovation Games by Luke Hohmann, and Karl Weigers’ Relative Weighting model. He describes how any of these methods can help you move from rough prioritization of your backlog to a precise ordering that satisfactorily weighs risk, importance, and customer satisfaction.

    • Estimating by Mitch Lacey. Mitch Lacey discusses the difficulty surrounding software project estimation, and provides tips and tricks for using two agile software estimation techniques when teams are estimating projects.

    • Sprint Planning by Mitch Lacey. Sprint planning does not need to be challenging. In this article, the author provides examples and strategies for keeping sprint planning focused and effective, and detail potential solutions to common problems teams encounter when planning a sprint.

    • Effective Sprint Retrospectives by David Starr. Going beyond techniques, this article offers ways to maintain and improve the practice and results of Retrospectives.

    • Distributed Scrum by David Starr. Distributed teams often struggle with consistent, timely, and effective communication. In this article, David Starr explains how Scrum offers a container in which different types of distributed teams can improve and succeed.

    • Enterprise Agile: Using TFS to support portfolio backlogs across multiple teams by Gregg Boer. Learn how TFS can be configured to support a portfolio of backlogs which provides automatic roll-up and management insight into work across multiple teams.



    Lean and CMMI

    • Lean Software Development by David J. Anderson. David J. Anderson describes Lean Software Development, its history, and how it can be used by software development project teams.

    • CMMI Principles and Values by David J. Anderson. The concept that an organization can be appraised at a particular maturity level and that this is an indicator of capability to deliver reliable work to the government is a matter of ongoing debate. In this article, David J. Anderson makes a case for Capability Maturity Model Integration (CMMI) and describes how it provides valuable insights for managers, process engineers and all external stakeholders including customers, investors, governance bodies and auditors.

    • The Lean of Scrum by David Starr. In this article, learn about the inherent Lean qualities of the Scrum framework along with various ways to help Scrum Teams improve using Lean Thinking.



    Development Approaches

    • Microsoft Solutions Framework (MSF) Overview . In this article, learn about the Microsoft Solutions Framework (MSF), an adaptable approach for successfully delivering technology solutions faster, with fewer people and less risk, while enabling higher quality results.

    • Application Analytics: What Every Developer Should Know by Sebastian Holst. In this article, Sebastian Holst discusses the objectives and advantages of application analytics.

    • Exploratory Software Testing by James Whittaker. In this article, an excerpt from his book Exploratory Software Testing: Tips, tricks, tours and techniques to guide test design, James Whittaker discusses goals, advantages, and approaches to exploratory software testing.


  • The Ultimate Visual Studio Tips and Tricks Blog

    On Vacation


    Folks I will be on vacation until 8/5. See you all in a couple of weeks :)


    p.s. Unfortunately I’m not going to the great place shown in the picture…

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: Navigate To


    You can use Navigate To to search for objects, definitions, or references (symbols) in a solution. If you happen to remember the old Navigate To dialog box then you know it was useful but blocked your view of the code:

    5-16-2012 12-25-54 PM


    The new Navigate To dialog is much less intrusive. Just press CTRL+,[comma] to see the new dialog:

    5-16-2012 12-33-33 PM


    The Navigate To experience will look one of two ways while you are using it. If the symbol is in any open document the relevant line will be highlighted within it:

    5-16-2012 12-50-22 PM


    If the symbol is not in an open document then it will show up in the Preview Tab:

    5-16-2012 1-01-17 PM


    There is only one search option when using Navigate To that will include (or exclude) external items:

    5-16-2012 1-14-47 PM


    At any time you can press ESC to close Navigate To and go back to your original code.

  • The Ultimate Visual Studio Tips and Tricks Blog

    InRelease for Visual Studio 2013 Preview Now Available



    In case you haven’t heard we acquired InCycle’s InRelease Business Unit. Here is information on InRelease from the website (


    InRelease is a Continuous Delivery solution for .NET teams that automates the release process from Visual Studio Team Foundation Server (TFS) up to production for faster and simpler deliveries. With pre-defined release paths, InRelease automatically deploys your application as a whole to multiple environments. Based on a business-approval workflow, InRelease improves coordination and communication between development, operations and quality assurance to make release cycles repeatable, visible, and more efficient.



    More interesting is the information from Brian Harry (

    [NOTE: Extra space added by me]


    At TechEd, in early June, I announced our agreement to acquire InRelease – a release management product built specifically for Team Foundation Server by InCycle Software.  Since then, we’ve received tons of requests for more information, demos, etc.  Unfortunately, we’ve only been able to point people at InCycle because the acquisition was not final.  I’m happy to say that about a week ago we closed the acquisition and InRelease is now a part of Microsoft.


    That doesn’t mean we can start selling it right away.  There are a number of things that have to happen in order to enable that – getting it on our price lists, shipping a version that is properly branded, serviceable, etc.  All of that will take a few months but there are some good options for you in the interim.  Let me share some of them.


    • We are providing a preview of our future Release Management product today.  It’s basically the existing InRelease product with some minimal changes to meet some of our compliance requirements.  You can download it here.  You can also read the InRelease Preview User Guide and ask questions on the forum.


    • InCycle Consulting will continue as an independent company and, until we ship the first fully Microsoft product, will continue to provide trials and sell the InRelease product.  Customers who purchase now will be provided a free upgrade to the Microsoft shipped version when it is available.  This is a good way to get started now and be sure that you also have a good path forward.


    Hopefully these two paths will solve everyone’s needs while finish up the changes we need to make.


    I also want to say a few words about licensing so you, at least, have a little context on what to expect.  We are not ready to announce pricing but I can share a bit about the structure of the licensing.

    • The InRelease release management authoring components will be included in Visual Studio Test Professional, Visual Studio Premium and Visual Studio Ultimate.
    • Everything needed to participate in a release process (as opposed to configuring it) will be included in the Team Foundation Server CAL.
    • The InRelease server components will be integrated into Team Foundation Server 2013.
    • The InRelease deployers (which are required for each node you deploy on) will continue to be licensed separately.

    For now, we are focused on getting InRelease integrated into our on premises product.  We will also support our cloud service but that will come a bit later.


    Please give it a try and give us any feedback you have.  As you might imagine, we are currently working on developing and prioritizing our backlog.




  • The Ultimate Visual Studio Tips and Tricks Blog

    ASP.NET and Web Tools 2012.2




    ASP.NET and Web Tools 2012.2 is a tooling refresh of Visual Studio 2012 that extends the existing ASP.NET runtime with new features without breaking existing applications. ASP.NET and Web Tools 2012.2 installs in minutes without altering the current ASP.NET run time components. Click the green button to download and install right now. For a complete description see the Release Notes or watch the video. This .2 update adds a number of new templates and features including:

    • Enhancements to Web Publishing
    • New Web API functionality
    • New templates for Facebook Application and Single Page Application
    • Real-time communication via ASP.NET SignalR
    • Extensionless Web Forms via ASP.NET Friendly URLs
    • Support for the new Windows Azure Authentication


    Download ASP.NET and Web Tools 2012.2 Today!



    From the Release Notes at

    New Features in ASP.NET and Web Tools 2012.2

    This section describes features that have been introduced in the ASP.NET and Web Tools 2012.2 release.

    • Page Inspector
    • Editor
      • Support syntax highlighting for CoffeeScript, Mustache, Handlebars, and JsRender.
      • The HTML editor provides Intellisense for Knockout bindings.
      • LESS editing and compiler support to enable building dynamic CSS using LESS.
      • Paste JSON as a .NET class. Using this Special Paste command to paste JSON into a C# or VB.NET code file, and Visual Studio will automatically generate .NET classes inferred from the JSON.
    • Mobile Emulator support adds extensibility hooks so that third-party emulators can be installed as a VSIX. The installed emulators will show up in the F5 dropdown, so that developers can preview their websites on a variety of mobile devices. Read more about this feature in Scott Hanselman’s blog entry on the new BrowserStack integration with Visual Studio.
    Web Publishing
    • Web site projects now have the same publishing experience as Web Application projects including publishing to Windows Azure Web Sites.
    • Selective publish – for one or more files you can perform the following actions (after publishing to a Web Deploy endpoint):
      • Publish selected files.
      • See the difference between a local file and a remote file.
      • Update the local file with the remote file or update the remote file with the local file.
    ASP.NET MVC Templates
    • The new Facebook Application template makes writing Facebook Canvas applications easy. In a few simple steps, you can create a Facebook application that gets data from a logged in user and integrates with their friends. The template includes a new library to take care of all the plumbing involved in building a Facebook app, including authentication, permissions, accessing Facebook data and more. For more information on using the Facebook Application template see
    • A new Single Page Application MVC template allows developers to build interactive client-side web apps using HTML 5, CSS 3, and the popular Knockout and jQuery JavaScript libraries, on top of ASP.NET Web API. The template includes a “todo” list application that demonstrates common practices for building a JavaScript HTML5 application that uses a RESTful server API. You can read more at
    • You can now create a VSIX that adds new templates to the ASP.NET MVC New Project dialog. Learn how here:
    • FixedDisplayModes package – MVC project templates have been updated to include the new ‘FixedDisplayModes’ NuGet package, which contains a workaround for a bug in MVC 4. For more information on the fix contained in the package, refer to this blog post ( from the MVC team.

    ASP.NET Web API has been enhanced with several new features:

    • ASP.NET Web API OData
    • ASP.NET Web API Tracing
    • ASP.NET Web API Help Page

    ASP.NET Web API OData

    ASP.NET Web API OData gives you the flexibility you need to build OData endpoints with rich business logic over any data source. With ASP.NET Web API OData you control the amount of OData semantics that you want to expose. ASP.NET Web API OData is included with the ASP.NET MVC 4 project templates and is also available from NuGet (

    ASP.NET Web API OData currently supports the following features:

    • Enable OData query semantics by applying the [Queryable] attribute.
    • Easily validate OData queries and restrict the set of supported query options, operators and functions.
    • Parameter bind to ODataQueryOptions directly to get an abstract syntax tree representation of the query that can then be validated and applied to an IQueryable or IEnumerable.
    • Enable service-driven paging and next page link generation by specifying result limits on [Queryable] attribute.
    • Request an inlined count of the total number of matching resources using $inlinecount.
    • Control null propagation.
    • Any/All operators in $filter.
    • Infer an entity data model by convention or explicitly customize a model in a manner similar to Entity Framework Code-First.
    • Expose entity sets by deriving from EntitySetController.
    • Simple, customizable conventions for exposing navigation properties, manipulating links and implementing OData actions.
    • Simplified routing using the MapODataRoute extension method.
    • Support for versioning by exposing multiple EDM models.
    • Expose service document and $metadata so you can generate clients (.NET, Windows Phone, Windows Store, etc.) for your Web API.
    • Support for the OData Atom, JSON, and JSON verbose formats.
    • Create, update, partially update (PATCH) and delete entities.
    • Query and manipulate relationships between entities.
    • Create relationship links that wire up to your routes.
    • Complex types.
    • Entity Type Inheritance.
    • Collection properties.
    • Enums.
    • OData actions.
    • Built upon the same foundation as WCF Data Services, namely ODataLib (

    For more information on ASP.NET Web API OData see


    ASP.NET Web API Tracing

    ASP.NET Web API Tracing integrates tracing data from your web APIs with .NET Tracing. It is now enabled by default in the Web API project template. Tracing data for your web APIs is sent to the Output window and is made available through IntelliTrace. ASP.NET Web API Tracing enables you to trace information about your Web API when hosted on Windows Azure through integration with Windows Azure Diagnostics. You can also install and enable ASP.NET Web API Tracing in any application using the ASP.NET Web API Tracing NuGet package (

    For more information on configuring and using ASP.NET Web API Tracing see


    ASP.NET Web API Help Page

    The ASP.NET Web API Help Page is now included by default in the Web API project template. The ASP.NET Web API Help Page automatically generates documentation for web APIs including the HTTP endpoints, the supported HTTP methods, parameters and example request and response message payloads. Documentation is automatically pulled from comments in your code. You can also add the ASP.NET Web API Help Page to any application using the ASP.NET Web API Help Page NuGet package (

    For more information on setting up and customizing the ASP.NET Web API Help Page see

    ASP.NET SignalR

    ASP.NET SignalR makes it simple to add real-time web capabilities to your ASP.NET application, using WebSockets if available and automatically falling back to other techniques when it isn’t.

    For more information on using ASP.NET SignalR see

    ASP.NET Friendly URLs

    ASP.NET FriendlyURLs makes it very easy for web forms developers to generate cleaner looking URLs(without the .aspx extension). It requires little to no configuration and can be used with existing ASP.NET v4.0 applications. The FriendlyURLs feature also makes it easier for developers to add mobile support to their applications, by supporting switching between desktop and mobile views.

    For more information on installing and using ASP.NET Friendly URLs see

  • The Ultimate Visual Studio Tips and Tricks Blog

    TFS 2012 Update 1: Permissions lost on attaching a collection–fix available


    I’ve had some customers that are experiencing this issue so wanted to get it out more broadly in case you are having similar problems.  Buck Hodges has written a blog post on symptoms and resolution here:


    The KB article can be found here:


    There are several other issues fixed with this TFS Update.  Here is the list of issues that are fixed (for more detail go to the KB article):

    Issue 1: Collections that are attached to a server that is running TFS 2012 Update 1 may lose permissions


    Issue 2: Group scopes may incorrectly cause permission errors


    Issue 3: Severe decrease in performance after TFS 2012 Update 1 is installed


    Issue 4: Identity sync jobs may fail repeatedly


    Issue 5: Warehouse is not updated correctly, or fields that represent a person are not filled


    Issue 6: Users can see names of collections of which they are not a member


    Issue 7: You cannot remove a user or a group after you attach a collection to a TFS 2012 Update 1 server


    Issue 8: You cannot view artifacts that reference an identity that is no longer a part of a collection

  • The Ultimate Visual Studio Tips and Tricks Blog

    Questions from the Field: Excluding Different Files or Directories on Debug and Release Builds


    A customer asked me the other day about excluding different files (or directories) based on the type of build happening.  Specifically they wanted to exclude some files for Release builds and others for Debug builds.


    Here is the general info on how to exclude files from builds:


    Within the article you will want to take a look at the Condition attribute which specifically calls out how to exclude based on build type:

        Condition=" '$(Configuration)' == 'Release' " />
  • The Ultimate Visual Studio Tips and Tricks Blog

    Questions from the Field: Restoring Work Items When You Accidentally Delete Them


    I had a customer accidentally delete some test cases in Team Foundation Server the other day and call me in a panic.  Fortunately they had good backups and the story ended well but I thought it would be good to review what is needed in case you accidentally delete your work items.


    It’s All About the Databases!

    TFS uses databases and, therefore, the key to recovering in TFS is making sure you are backing up and are able to recover the underlying databases.  Here is the guidance on how to do just that:


    Not all artifacts are easy to recover.  Test Plans are particularly fun to get back so my friend Angela wrote an article about how to recover in those special situations:



    Have You Hugged Your DBA Today?

    Being able to recover means having a good relationship with your database administrator.  Make sure you are in sync on the TFS install and what pieces of the deployment are high value vs. low value projects, etc…  Like in most things communication is the key to success and there is not such thing as over communicating when it comes to your TFS instance…

    …Okay there IS such a thing as over communicating so don’t, for example, hire an airplane to fly over your building with your favorite table name from the TFS database.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Understanding IntelliTrace Part V: Advanced IntelliTrace Settings


    This is a multi-part series, you can find the other parts here:

    Understanding IntelliTrace Part I: What the @#$% is IntelliTrace?

    Understanding IntelliTrace Part II: Where Do I Use IntelliTrace?

    Understanding IntelliTrace Part III: IntelliTrace Events

    Understanding IntelliTrace Part IV: IntelliTrace Calls



    Before we get started I want to be absolutely clear: there is nothing “advanced” about the setting we are going to talk about. The word “advanced” in this case could (and probably should) be replaced with “miscellaneous” or, better yet, “stuff you should always have turned on”. I am, of course, talking about the setting found at Tools | Options | IntelliTrace | Advanced:

    5-16-2012 12-20-13 PM


    We will go though each of these in order and make sure you are clear on reasons for usage. Remember we are using the Brian Keller Virtual Machine with the Tailspin Toys sample code for these posts although this specific post can be used with any codebase.




    IntelliTrace Logs

    Running IntelliTrace sessions is great but the experience ends when you stop debugging.  Try it and see what I mean. Get some IntelliTrace info up doing one of the exercises in the previous post:

    5-16-2012 12-20-13 PM


    Now stop debugging. Notice the IntelliTrace window completely goes away and there is no way to bring it back UNLESS you start a new debugging session or record an IntelliTrace log file. How do we get a log file? Just go to | Options | IntelliTrace | Advanced and select Store IntelliTrace Recordings In This Directory:

    5-16-2012 12-20-13 PM


    You might also want to create a new local directory with a shorter path to hold your logs:

    5-16-2012 12-20-13 PM


    Now you have a place for your IntelliTrace sessions to be stored:

    5-16-2012 12-20-13 PM


    We will dig into the specifics of what the log files contain in a later post however feel free to open one of these up and poke around on your own if you want.



    Best Practice: Always turn on IntelliTrace logs.




    Log File Size

    The next decision to make is our log file size. I suggest a minimum of 500MB to 1GB regardless of activity.  If in doubt then go with No Size Limit but watch the file closely. Choose your size carefully. Here are the criteria you need to consider when choosing log file size:

    5-16-2012 12-20-13 PM


    Cyclical Log Files

    The log files are cyclic which means that when it fills up it will begin overwriting the oldest entries in favor of newer ones.


    Collection Type

    Are you collecting Events Only or Events and Calls? Events Only consumes much less space so you can go with smaller log sizes if needed. Events and Calls will require significantly more space so plan accordingly.


    Time Window

    The size of your log file determines, in essence, your time window. Capturing 500MB will capture half the time window that 1GB will. Since the log files are cyclic they will only capture a sliding time window until the trace stops.




    Navigation Gutter

    We will explore navigation more in another post but, for now, leave this setting selected:

    5-16-2012 12-20-13 PM


    This will give you special navigation features that are useful when troubleshooting IntelliTrace Calls:

    5-16-2012 12-20-13 PM


    Turning it off simply removes the navigation buttons and the gutter:

    5-16-2012 12-20-13 PM




    Symbol and Source Lookups

    5-16-2012 12-20-13 PM


    Symbol Path Lookup

    Selecting the Enable Team Foundation Server Symbol Path Lookup option will enable the system so that when you are using IntelliTrace or an IntelliTrace log file it can use the build information to automatically try and pull down the matching symbol information for the build you are debugging. This option assumes you have a TFS Build server set up.



    Source Server Support

    Selecting the Prompt To Enable Source Server Support option actually will give you a dialog that will automatically turn on another option found at Tools | Options | Debugging | General | Enable Source Server Support:

    5-16-2012 12-20-13 PM


    To clarify what this means I’ll point you to the documentation on this option and what it says:


    Tells the Visual Studio debugger to get source files from source servers that implement the SrcSrv (srcsrv.dll) protocol. Team Foundation Server and and the Debugging Tools for Windows are two source servers that implement the protocol.



    To expand on this we can go to another source for more information:


    When there is no source code on the local machine or the PDB file does not match the source code, you can use Source Server to help debug an application. Source Server takes requests for files and returns the actual files. Source Server runs by means of a DLL file named srcsrv.dll. Source Server reads the application's PDB file, which contains pointers to the source code repository, as well as commands used to retrieve source code from the repository.





    This area of IntelliTrace is fairly easy to wrap you head around in terms of decision-making: turn everything on. The only real question is what size your log file needs to be. As I teach you more advanced techniques just make sure you don’t fill up your drive with an unattended IntelliTrace session that is being logged.

  • The Ultimate Visual Studio Tips and Tricks Blog

    "The reports of my death are greatly exaggerated"–Mark Twain




    Apologies for going dark on you suddenly. I have not stopped writing to the blog permanently. We are in the last quarter of our fiscal year and it’s a bit of a sucker doing customer visits and webcasts and blogging so I’ve suspended the blogging until July. Thanks for reading the blog and I am answering comments as they come up. I will also be finishing the series on IntelliTrace as planned once this fiscal ends. Good times! Smile



Page 134 of 135 (1,345 items) «131132133134135