Like any software product, with every new release of Visual Studio, we add numerous new features to support additional scenarios, improve existing features based on customer feedback and occasionally, we remove some features based on a number of factors such as lack of customer demand, quality issues, retirement of legacy technologies, changing industry trends, etc.

Visual Studio 2010 is no exception. In this blog, I'll provide a partial list of the features that were removed from Visual Studio 2010 and where applicable, I'll describe workarounds.

Application Verifier

Application Verifier is a runtime verification tool for unmanaged code that is available in the Team System 2005/2008 Development Edition. See the documentation for more detail. Based on feedback, very few customers use this feature in Visual Studio Team System today. Furthermore, there was clear feedback from customers that they would prefer us invest our resources in other areas such as the Historical Debugger and the Tier Interaction Profiler. As a result, Application Verifier has been removed from Visual Studio 2010. In case you need to access Application Verifier, it's available as a free download from the Microsoft download website.

Application Verifier

Object Test Bench

Object Test Bench is a simple testing/learning tool to test an application at the object level. It was really designed more as a learning tool as opposed to something that you would use for everyday software construction/maintenance.

Object Test Bench

The idea behind Object Test Bench is that you create an instance of a class at design time and then invoke its methods to see its behavior, as shown below. In essence, Object Test Bench is a graphical representation of the Immediate window with the exception that the Immediate window provides more functionality than Object Test Bench.

OTB window

Since most developers use the Immediate window as their primarily tool to run methods in the application while debugging, it was decided in Visual Studio 2010 to no longer invest in Object Test Bench and instead focus on the Immediate window as the primarily tool for interacting with objects while debugging. Hence, if you are using Object Test Bench today, you'll be able to achieve the same level of functionality and more, using the Immediate window.

IntelliSense for C++/CLI

In Visual Studio 2010, the C++ team has pretty much rebuilt IntelliSense for C/C++ to make it more reliable, stable and provide better performance. As part of this re-architecture, they had to scope down the work and as a result, made the very hard decision to drop IntelliSense support for C++/CLI for the 2010 release. In Visual Studio 2010, when you try to use IntelliSense for in a C++/CLI project, you'll see the following message in the status bar: Intellisense: 'Unavailable for C++/CLI'.

I fully expect this feature to come back in a future release. You can read more about this on the Rebuilding Intellisense blog post which was written by members of the Visual C++ team. Just to make it super clear, IntelliSense is fully supported for native C/C++. Where it's not supported is Managed C++ (oldSyntax) and C++/CLI.

Debugging support for SQL Server 2000

As you may be aware, Visual Studio 2002, 2003, 2005 and 2008 all support debugging SQL Server 2000 objects such as stored procedures, functions, triggers, etc. Since mainstream support for SQL Server 2000 ended on 04/08/2008, Visual Studio 2010 will only support debugging SQL Server 2005 and SQL Server 2008. In order to continue debugging SQL Server 2000, you can use any of the earlier releases of Visual Studio mentioned at the beginning of this paragraph.

The main purpose of this blog post was to highlight some of the features that will no longer be available as of Visual Studio 2010 and more importantly, provide workarounds where applicable. If you have any feedback, please feel free to leave a comment.

Habib Heydarian.