Setup & Installation
Let me start off by mentioning that if
you are unfamiliar with the Visual Studio.NET product line, you should check
out the review of Visual Studio.NET 2002 here on ActiveWin.com before
continuing. I will not be duplicating much of what was covered in that
review, as much has stayed the same in Visual Studio.NET 2003 (Visual Studio
In addition, this review will not cover all the changes to the .NET
Framework for version 1.1. (A complete change list can be found
There are, however, many great new
features (and bug fixes!) to cover, and as a part of this coverage, I will
touch upon some of the new and exciting features of both the framework and
Visual Studio .NET 2003.
Lastly, this review will concentrate on
Visual Studio .NET 2003 Enterprise Architect edition, although the vast majority of the
review deals with features common to all three editions. These editions
include Professional, Enterprise Developer, and Enterprise Architect. Also,
I’ll be focusing mostly on features surrounding the IDE while using C#,
although I will occasionally throw in a VB.NET-specific tidbit for you
VB.NET developers. Unless I explicitly say otherwise, you can assume a
feature is available in both C# and VB.NET.
We’ll start off with the obligatory list
of new features according to Microsoft, but with my own take where I felt it
was appropriate. The following features are common to all editions. [source,
my comments are in green]
For Mobile Device
Building applications for smart
Visual Studio .NET 2003 now includes integrated support for the Microsoft
.NET Compact Framework.
This integration includes complete debugging support,
emulation, Forms designers – the works. This is only supported in Visual
Studio .NET 2003, however, and not in the stand alone editions of C#, VB.NET, J#, or
Building applications for mobile
Using the integrated ASP.NET Web Forms and the Visual Studio .NET Web Forms
Designer, Visual Basic and C# developers can easily build thin-client
Web-based applications that render intelligently on more than 200 devices.
This stuff really
quite incredible and a great demonstration of the technology can be seen on
.NET Show episode.
Targeting the new .NET Framework
The Microsoft .NET Framework version 1.1 provides several enhancements over
the .NET Framework 1.0 including improved scalability, security, and
performance. Just so
you know, you cannot develop on v1.1 of the framework from within
Visual Studio .NET 2002. You must have Visual Studio .NET 2003. Of course, you can always
develop in a 3rd party tool and use the command line compilers,
but I know of absolutely nobody who would willingly develop that way.
Deploying to Windows Server 2003
Windows 2003 Server
comes with the .NET Framework v1.1 already installed. This means there is no
need to create bootstrapping installers for installation. Either use xcopy,
or create an installer with Visual Studio .NET. From my experience, Visual
Studio .NET 2003 works
quite seamlessly with Windows 2003 Server, but, then again, so did Visual
Studio .NET 2002.
Easy migration from existing .NET
Framework 1.0 applications
To ensure the highest level of compatibility, .NET Framework 1.1 can be
installed side-by-side with .NET Framework 1.0.
This is downplaying it a bit.
Aside from ASP.NET, which automatically attempts to run on the latest
framework version, all other applications will continue to use the v1.0
assemblies on the system, unless they’re not found, and then they attempt to
use v1.1. This is truly side-by-side versioning, and is the end of DLL hell.
New managed data providers
The new managed data providers deliver data controls for easy connections to
OLEDB and ODBC data sources including Microsoft SQL Server™, Microsoft
Access, Jet, DB2, and Oracle.
Improved support for working with
XML Web services
Support for Web services includes the latest Web services standards such as
WS-Routing, WS-Security, WS-Attachments, and Direct Internet Message
In other words, Visual Studio .NET 2003 comes packaged with the Web
Service Enhancements (WSE). You can find out more information about the
EIF enables developers to easily add run-time monitoring capabilities to any
application. Once added, developers or IT staff can easily monitor the
health of any .NET-connected application. EIF will be available for download
on MSDN. This is
only available for download by those who are lucky enough to have access to
an MSDN Universal Subscription.
Improved IntelliSense for interfaces and base classes
IntelliSense® now includes automatic interface and base class expansion.
Simply inherit from an interface or a base class, and the code editor will
prompt you with a ToolTip to automatically stub out abstract methods of the
class and methods of the interface.
Improved IntelliSense for delegates and events
IntelliSense will now provide ToolTip assistance to help you hook functions
to delegates and events.
Better debugger visualizations
The C# debugger now shows collection classes and other complex data types in
a more usable and visual manner.
This is a huge improvement over Visual Studio .NET
could often present endless loops of inner item collections when attempting
to figure out the contents of a collection in the locals, autos, or watch
window. More on this later as well.
Source code obfuscation
Integrated source code obfuscation secures your intellectual property,
further reduces the size of your .NET-connected applications, and improves
the performance of your applications.
Visual Studio .NET 2003 includes DotFuscator
Community edition, and while it does a pretty good job of making it somewhat
difficult to read the code, this version doesn’t do any of the tricks needed
to really make your source safe. More on this later.
IntelliSense for the Immediate
IntelliSense is now available in the Immediate Window, providing assistance
while you debug applications.
YAHOO! This was my number one feature request… well,
pretty close anyway. VB6 had it, but Visual Studio .NET 2002 lacked it for some
completely inexplicable reason. It’s back, and better than ever! More on
Much Faster IDE
There is no doubt
about it, Visual Studio .NET 2003 is a lot zipper than its predecessor. Everything from
the menus to the designers are more responsive. The IDE also feels more
solid than before, although that is somewhat intangible and subjective.
For C# Developers
Custom build steps
Programmers may now customize how their application compiles and builds for
faster development and reduced build cycles.
This is a very handy feature that
allows you to, among other things, execute batch files or commands to copy
files, run pre or post build scripts/application, access various Visual
environment variable, etc. More on this later.
Migration tools for Java-language
The Java Language Conversion Assistant (JLCA) enables developers to convert
existing Java-language or Microsoft Visual J++® applications to the C#
language and the .NET Framework.
Although I’m not sure how many Java developers are hopping on
the .NET bandwagon, this tool seems to work reasonable well for converting
all that legacy (J)
code to C#.
For VB.NET Developers
Easy upgrade from Visual Basic .NET 2002
Upgrading your Visual Basic .NET 2002 applications is as easy as loading
your project and recompiling. The same goes for C#,
by the way. In addition, you’re not required to recompile
existing applications, as they
will continue to reference the old framework assemblies.
Enhanced upgrade technology
Visual Basic .NET developers can now leverage even more of their existing
investments in code and skills. The improved upgrade wizard enables
developers to migrate up to 95 percent of existing Visual Basic 6.0 code to
Visual Basic .NET 2003 including User Controls and Web Classes.
Really, in most cases, it
usually doesn’t make sense to simply attempt a direct port of a VB6
application to .NET. But if you want to, the upgrade wizard has definitely
For a comparison of all the features of
the three editions of Visual Studio .NET 2003, refer to this