Though Microsoft's Visual Studio 2005 dropped the .NET moniker, it remains the premier .NET development platform for hosting compilers that target this platform, such as Visual Basic, C#, and J#. It supports a wide range of third-party compilers and plug-ins rivaled only by the open-source Eclipse integrated development environment (IDE).
The key to Visual Studio's success remains in its interaction with the wide range of Microsoft products, from the base operating system and the .NET framework to the Web server through SQL Server 2005 and Microsoft Office. This vast support streamlines application development. But it also can confuse new developers trying to figure out the array of available options, from older Microsoft Foundation Class (MFC) applications to C# Web-based client applications, and anything in between.
Visual Studio comes in various incarnations to address such a wide range of users. Standard Editions support Visual Basic, C#, C++, and J#, while Express Editions target individual languages. The Professional version adds tools for building multitier server applications, including support for Microsoft's SQL Server 2005 and Visual Source Safe. It also includes a copy of Virtual PC. (See EiED Online, "Virtual Development," ED Online 9868, and "Virtualize The Operating System," ED Online 9840, at www.elecdesign.com.) The Team System adds code profiling, advanced project management, and unit testing, among other features.
SO WHAT'S NEW? The list of added features in Visual Studio 2005 is rather extensive, but some stand out. For example, there are new security enhancements for both native and managed code. Managed code targets the .NET Common Language Runtime (CLR).
Visual C++ is the only Microsoft language that targets native code, and it's often used for embedded application development. The /GS option checks for buffer overruns. The Safe CRT (C runtime) libraries also incorporate these checks. A Code Analysis feature in the Team Edition detects errors in areas such as exception handling.
On the managed code side, FxCop is now integrated with Visual Studio. It checks assemblies for conformance to .NET Framework Design Guidelines. With the Debug in Zone feature, developers can specify the amount of trust that the application will need to test network applications with varying levels of trust. This also can be done in conjunction with unit testing and stress testing found in Visual Studio 2005.
Plenty of enhancements made to the Visual Studio IDE should make life easier for developers. The dockable windows can float, be included in a tabbed window, or autohide (as with the Windows Start toolbar).
Visual Basic (VB) 9.0 brings a host of new features. For instance, LINQ (Language INtegrated Query) handles queries for a range of targets from relational to XML-based queries. VB 9.0 now supports local functions plus anonymous types and arrays.
ASP.NET Web developers now can take advantage of membership controls like LoginStatus. They also can use Web Parts to create custom portals.
Upgrades to the generic Windows Forms include the addition of LayoutPanels, better menu interaction with rich text editor controls, and the ability to handle asynchronous tasks. It supports master and detail forms as well.
An XML editor is now part of the package, too. It contains IntelliSense support, found throughout the IDE. For example, IntelliSense makes completing XML elements based on schemas or DTDs a snap. It has the usual color coding and smart indenting provided with other language tools.
These new features are just the beginning. Improvements and enhancements are across the board, from the IDE to the compiler through debugging.
Visual Studio Standard Edition costs $299. Annual MSDN subscriptions also are available.