Screenshot of Visual Studio 2013, editing the source code of a C++ program
|Stable release||2019 version 16.7.3 (16.7.30503.244) (September 8, 2020; 17 days ago (2020-09-08)) [±]|
|Preview release||2019 version 16.8.0 Preview 3.0 (16.8.30509.190) (September 14, 2020; 11 days ago (2020-09-14)) [±]|
|Operating system||Mac OS|
|Available in||Chinese, Czech, English, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Spanish and Turkish|
|Type||Integrated development environment|
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code.
Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a code profiler, designer for building GUI applications, web designer, class designer, and database schema designer. It accepts plug-ins that expand the functionality at almost every level—including adding support for source control systems (like Subversion and Git) and adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle (like the Azure DevOps client: Team Explorer).
The most basic edition of Visual Studio, the Community edition, is available free of charge. The slogan for Visual Studio Community edition is "Free, fully-featured IDE for students, open-source and individual developers".
The currently supported Visual Studio version is 2019.
Visual Studio does not support any programming language, solution or tool intrinsically; instead, it allows the plugging of functionality coded as a VSPackage. When installed, the functionality is available as a Service. The IDE provides three services: SVsSolution, which provides the ability to enumerate projects and solutions; SVsUIShell, which provides windowing and UI functionality (including tabs, toolbars, and tool windows); and SVsShell, which deals with registration of VSPackages. In addition, the IDE is also responsible for coordinating and enabling communication between services. All editors, designers, project types and other tools are implemented as VSPackages. Visual Studio uses COM to access the VSPackages. The Visual Studio SDK also includes the Managed Package Framework (MPF), which is a set of managed wrappers around the COM-interfaces that allow the Packages to be written in any CLI compliant language. However, MPF does not provide all the functionality exposed by the Visual Studio COM interfaces. The services can then be consumed for creation of other packages, which add functionality to the Visual Studio IDE.
Support for programming languages is added by using a specific VSPackage called a Language Service. A language service defines various interfaces which the VSPackage implementation can implement to add support for various functionalities. Functionalities that can be added this way include syntax coloring, statement completion, brace matching, parameter information tooltips, member lists, and error markers for background compilation. If the interface is implemented, the functionality will be available for the language. Language services are implemented on a per-language basis. The implementations can reuse code from the parser or the compiler for the language. Language services can be implemented either in native code or managed code. For native code, either the native COM interfaces or the Babel Framework (part of Visual Studio SDK) can be used. For managed code, the MPF includes wrappers for writing managed language services.
Visual Studio does not include any source control support built in but it defines two alternative ways for source control systems to integrate with the IDE. A Source Control VSPackage can provide its own customised user interface. In contrast, a source control plugin using the MSSCCI (Microsoft Source Code Control Interface) provides a set of functions that are used to implement various source control functionality, with a standard Visual Studio user interface. MSSCCI was first used to integrate Visual SourceSafe with Visual Studio 6.0 but was later opened up via the Visual Studio SDK. Visual Studio .NET 2002 used MSSCCI 1.1, and Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005, 2008, and 2010 use MSSCCI Version 1.3, which adds support for rename and delete propagation, as well as asynchronous opening.
Visual Studio supports running multiple instances of the environment (each with its own set of VSPackages). The instances use different registry hives (see MSDN's definition of the term "registry hive" in the sense used here) to store their configuration state and are differentiated by their AppId (Application ID). The instances are launched by an AppId-specific .exe that selects the AppId, sets the root hive, and launches the IDE. VSPackages registered for one AppId are integrated with other VSPackages for that AppId. The various product editions of Visual Studio are created using the different AppIds. The Visual Studio Express edition products are installed with their own AppIds, but the Standard, Professional, and Team Suite products share the same AppId. Consequently, one can install the Express editions side-by-side with other editions, unlike the other editions which update the same installation. The professional edition includes a superset of the VSPackages in the standard edition, and the team suite includes a superset of the VSPackages in both other editions. The AppId system is leveraged by the Visual Studio Shell in Visual Studio 2008.
The Visual Studio code editor also supports setting bookmarks in code for quick navigation. Other navigational aids include collapsing code blocks and incremental search, in addition to normal text search and regex search. The code editor also includes a multi-item clipboard and a task list. The code editor supports code snippets, which are saved templates for repetitive code and can be inserted into code and customized for the project being worked on. A management tool for code snippets is built in as well. These tools are surfaced as floating windows which can be set to automatically hide when unused or docked to the side of the screen. The Visual Studio code editor also supports code refactoring including parameter reordering, variable and method renaming, interface extraction, and encapsulation of class members inside properties, among others.
Visual Studio features background compilation (also called incremental compilation). As code is being written, Visual Studio compiles it in the background in order to provide feedback about syntax and compilation errors, which are flagged with a red wavy underline. Warnings are marked with a green underline. Background compilation does not generate executable code, since it requires a different compiler than the one used to generate executable code. Background compilation was initially introduced with Microsoft Visual Basic, but has now been expanded for all included languages.
Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. It works with both managed code as well as native code and can be used for debugging applications written in any language supported by Visual Studio. In addition, it can also attach to running processes, monitor, and debug those processes. If source code for the running process is available, it displays the code as it is being run. If source code is not available, it can show the disassembly. The Visual Studio debugger can also create memory dumps as well as load them later for debugging. Multi-threaded programs are also supported. The debugger can be configured to be launched when an application running outside the Visual Studio environment crashes.
The debugger allows setting breakpoints (which allow execution to be stopped temporarily at a certain position) and watches (which monitor the values of variables as the execution progresses). Breakpoints can be conditional, meaning they get triggered when the condition is met. Code can be stepped over, i.e., run one line (of source code) at a time. It can either step into functions to debug inside it, or step over it, i.e., the execution of the function body isn't available for manual inspection. The debugger supports Edit and Continue, i.e., it allows code to be edited as it is being debugged. When debugging, if the mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger lets certain functions be invoked manually from the tool window. The parameters to the method are supplied at the Immediate window.
A screenshot of Windows Forms Designer as seen in Visual Studio 2019
Visual Studio includes a host of visual designers to aid in the development of applications. These tools include:
- Windows Forms Designer
- The Windows Forms designer is used to build GUI applications using Windows Forms. Layout can be controlled by housing the controls inside other containers or locking them to the side of the form. Controls that display data (like textbox, list box and grid view) can be bound to data sources like databases or queries. Data-bound controls can be created by dragging items from the Data Sources window onto a design surface. The UI is linked with code using an event-driven programming model. The designer generates either C# or VB.NET code for the application.
- WPF Designer
- The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to author user interfaces targeting Windows Presentation Foundation. It supports all WPF functionality including data binding and automatic layout management. It generates XAML code for the UI. The generated XAML file is compatible with Microsoft Expression Design, the designer-oriented product. The XAML code is linked with code using a code-behind model.
- Web designer/development
- Class designer
- The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the classes and methods. It can also generate class diagrams from hand-written classes.
- Data designer
- The data designer can be used to graphically edit database schemas, including typed tables, primary and foreign keys and constraints. It can also be used to design queries from the graphical view.
- Mapping designer
- From Visual Studio 2008 onwards, the mapping designer is used by LINQ to SQL to design the mapping between database schemas and the classes that encapsulate the data. The new solution from ORM approach, ADO.NET Entity Framework, replaces and improves the old technology.
- Open Tabs Browser
- The open tabs browser is used to list all open tabs and to switch between them. It is invoked using .
- Properties Editor
- The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items.
- Object Browser
- The Object Browser is a namespace and class library browser for Microsoft .NET. It can be used to browse the namespaces (which are arranged hierarchically) in managedassemblies. The hierarchy may or may not reflect the organization in the file system.
- Solution Explorer
- In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution.
- Team Explorer
- Team Explorer is used to integrate the capabilities of Azure DevOps (either Azure DevOps Services or Azure DevOps Server) into the IDE . In addition to version control integration it provides the ability to view and manage individual work items (including user stories, bugs, tasks and other documents). It is included as part of a Visual Studio installation and is also available as a standalone download.
- Data Explorer
- Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows creation and alteration of database tables (either by issuing T-SQL commands or by using the Data designer). It can also be used to create queries and stored procedures, with the latter in either T-SQL or in managed code via SQL CLR. Debugging and IntelliSense support is available as well.
- Server Explorer
- The Server Explorer tool is used to manage database connections on an accessible computer. It is also used to browse running Windows Services, performance counters, Windows Event Log and message queues and use them as a datasource.
- Dotfuscator Community Edition
- Visual Studio includes a free 'light' version of Dotfuscator
- Text Generation Framework
- Visual Studio includes a full text generation framework called T4 which enables Visual Studio to generate text files from templates either in the IDE or via code.
- ASP.NET Web Site Administration Tool
- The ASP.NET Web Site Administration Tool allows for the configuration of ASP.NET websites.
- Visual Studio Tools for Office
- Visual Studio Tools for Office is a SDK and an add-in for Visual Studio that includes tools for developing for the Microsoft Office suite. Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it was a separate SKU that supported only Visual C# and Visual Basic languages or was included in the Team Suite. With Visual Studio 2008, it is no longer a separate SKU but is included with Professional and higher editions. A separate runtime is required when deploying VSTO solutions.
Visual Studio allows developers to write extensions for Visual Studio to extend its capabilities. These extensions "plug into" Visual Studio and extend its functionality. Extensions come in the form of macros, add-ins, and packages. Macros represent repeatable tasks and actions that developers can record programmatically for saving, replaying, and distributing. Macros, however, cannot implement new commands or create tool windows. They are written using Visual Basic and are not compiled. Add-Ins provide access to the Visual Studio object model and can interact with the IDE tools. Add-Ins can be used to implement new functionality and can add new tool windows. Add-Ins are plugged into the IDE via COM and can be created in any COM-compliant languages. Packages are created using the Visual Studio SDK and provide the highest level of extensibility. They can create designers and other tools, as well as integrate other programming languages. The Visual Studio SDK provides unmanaged APIs as well as a managed API to accomplish these tasks. However, the managed API isn't as comprehensive as the unmanaged one. Extensions are supported in the Standard (and higher) versions of Visual Studio 2005. Express Editions do not support hosting extensions.
Visual Studio 2008 introduced the Visual Studio Shell that allows for development of a customized version of the IDE. The Visual Studio Shell defines a set of VSPackages that provide the functionality required in any IDE. On top of that, other packages can be added to customize the installation. The Isolated mode of the shell creates a new AppId where the packages are installed. These are to be started with a different executable. It is aimed for development of custom development environments, either for a specific language or a specific scenario. The Integrated mode installs the packages into the AppId of the Professional/Standard/Team System editions, so that the tools integrate into these editions. The Visual Studio Shell is available as a free download.
After the release of Visual Studio 2008, Microsoft created the Visual Studio Gallery. It serves as the central location for posting information about extensions to Visual Studio. Community developers as well as commercial developers can upload information about their extensions to Visual Studio .NET 2002 through Visual Studio 2010. Users of the site can rate and review the extensions to help assess the quality of extensions being posted. An extension is stored in a VSIX file. Internally a VSIX file is a ZIP file that contains some XML files, and possibly one or more DLL's. One of the main advantages of these extensions is that they do not require Administrator rights to be installed. RSS feeds to notify users on updates to the site and tagging features are also planned.
- Microsoft Visual C++
- Microsoft Visual C++ is Microsoft's partial implementation of the C and full implementation C++compiler and associated languages-services and specific tools for integration with the Visual Studio IDE. It can compile either in C mode or C++ mode. For C++, as of version 15.7 it conforms to C++17. The C implementation of Visual Studio 2015 still doesn't support the full standard; in particular, the complex number header complex.h introduced in C99 is unsupported.
- Visual C++ supports the C++/CLI specification to write managed code, as well as mixed-mode code (a mix of native and managed code). Microsoft positions Visual C++ for development in native code or in code that contains both native as well as managed components. Visual C++ supports COM as well as the MFC library. For MFC development, it provides a set of wizards for creating and customizing MFC boilerplate code, and creating GUI applications using MFC. Visual C++ can also use the Visual Studio forms designer to design UI graphically. Visual C++ can also be used with the Windows API. It also supports the use of intrinsic functions, which are functions recognized by the compiler itself and not implemented as a library. Intrinsic functions are used to expose the SSE instruction set of modern CPUs. Visual C++ also includes the OpenMP (version 2.0) specification.
- Microsoft Visual C#
- Microsoft Visual C#, Microsoft's implementation of the C# language, targets the .NET Framework, along with the language services that lets the Visual Studio IDE support C# projects. While the language services are a part of Visual Studio, the compiler is available separately as a part of the .NET Framework. The Visual C# 2008, 2010 and 2012 compilers support versions 3.0, 4.0 and 5.0 of the C# language specifications, respectively. Visual C# supports the Visual Studio Class designer, Forms designer, and Data designer among others.
- Microsoft Visual Basic
- Microsoft Visual Basic is Microsoft's implementation of the VB.NET language and associated tools and language services. It was introduced with Visual Studio .NET (2002). Microsoft has positioned Visual Basic for Rapid Application Development. Visual Basic can be used to author both console applications as well as GUI applications. Like Visual C#, Visual Basic also supports the Visual Studio Class designer, Forms designer, and Data designer among others. Like C#, the VB.NET compiler is also available as a part of .NET Framework, but the language services that let VB.NET projects be developed with Visual Studio, are available as a part of the latter.
- Microsoft Visual Web Developer
- Microsoft Visual Web Developer is used to create web sites, web applications and web services using ASP.NET. Either C# or VB.NET languages can be used. Visual Web Developer can use the Visual Studio Web Designer to graphically design web page layouts.
- Azure DevOps
- Azure DevOps is intended for collaborative software development projects and provides version control, work planning and tracking, data collection, and reporting. It also includes the Team Explorer which is integrated inside Visual Studio. On 10 September 2018, Microsoft announced a rebranding of Visual Studio Team Services (VSTS) to Azure DevOps Services and Team Foundation Server (TFS) to Azure DevOps Server.
- Visual FoxPro
- Visual FoxPro is a data-centric object-oriented and proceduralprogramming language produced by Microsoft. It derives from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Visual FoxPro is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL queries and data manipulation. Visual FoxPro is a full-featured,dynamic programming language that does not require the use of an additional general-purpose programming environment. In 2007, Visual FoxPro was discontinued after version 9 Service Pack 2. It was supported until 2015.
- Visual SourceSafe
- Microsoft Visual SourceSafe is a source controlsoftware package oriented towards small software-development projects. The SourceSafe database is a multi-user, multi-process file-system database, using the Windows file system database primitives to provide locking and sharing support. All versions are multi-user, using SMB (file server) networking. However, with Visual SourceSafe 2005, other client–server modes were added, Lan Booster and VSS Internet (which used HTTP/HTTPS). Visual SourceSafe 6.0 was available as a stand-alone product and was included with Visual Studio 6.0, and other products such as Office Developer Edition. Visual SourceSafe 2005 was available as a stand-alone product and included with the 2005 Team Suite. Azure DevOps has superseded VSS as Microsoft's recommended platform for source control.
- Microsoft Visual J++/Microsoft Visual J#
- Microsoft Visual J++ was Microsoft's implementation of the Java language (with Microsoft-specific extensions) and associated language services. It was discontinued as a result of litigation from Sun Microsystems, and the technology was recycled into Visual J#, Microsoft's Java compiler for .NET Framework. J# was available with Visual Studio 2005 (supported until 2015) but was discontinued in Visual Studio 2008.
- Visual InterDev
- Visual InterDev was used to create web applications using Microsoft Active Server Pages (ASP) technologies. It supports code completion and includes database server management tools. It has been replaced with Microsoft Visual Web Developer.
Microsoft Visual Studio is available in the following editions or SKUs:
The Community edition was announced on 12 November 2014, as a new free version, with similar functionality to Visual Studio Professional. Prior to this date, the only free editions of Visual Studio were the feature-limited Express variants. Unlike the Express variants, Visual Studio Community supports multiple languages, and provides support for extensions. Individual developers have no restrictions on their use of the Community edition. The following uses also allow unlimited usage: contributing to Open Source projects, academic research, in a classroom learning environment and for developing and testing device drivers for the Windows operating system. All other use by an organization depends on whether you are classified as an Enterprise (more than 250 employees or more than 1 million USD in annual revenue, per Microsoft). Non-Enterprises may use up to 5 copies without restriction, user number 6 and higher require a commercial license; Enterprise organizations require a commercial license for use outside of the noted exceptions. Visual Studio Community is oriented towards individual developers and small teams.
As of Visual Studio 2010, the Professional edition is the entry level commercial edition of Visual Studio. (Previously, a more feature restricted Standard edition was available.) It provides an IDE for all supported development languages. MSDN support is available as MSDN Essentials or the full MSDN library depending on licensing. It supports XML and XSLT editing, and can create deployment packages that only use ClickOnce and MSI. It includes tools like Server Explorer and integration with Microsoft SQL Server also. Windows Mobile development support was included in Visual Studio 2005 Standard, however, with Visual Studio 2008, it is only available in Professional and higher editions. Windows Phone 7 development support was added to all editions in Visual Studio 2010. Development for Windows Mobile is no longer supported in Visual Studio 2010. It is superseded by Windows Phone 7.
In addition to the features provided by the Professional edition, the Enterprise edition provides a new set of software development, database development, collaboration, metrics, architecture, testing and reporting tools.
The first version of Visual Studio was Visual Studio 97. Before that, Visual Basic, Visual C++, Visual FoxPro and Visual SourceSafe were sold as separate products.
|Product name ||Code name ||Release date ||Version|
|Latest Update Version ||Latest Update Date ||Support Ends ||Supported|
|Visual Studio 2019 ||Dev16||2019-04-02||16.0||16.7.3||2020-09-08||Current stable version:April 10, 2029||4.0 - 4.8||1.1, 2.1, 2.2, 3.0, 3.1 |
|Visual Studio 2017 ||Dev15||2017-03-07||15.0||15.9.27||2020-09-08||Older version, yet still maintained: April 13, 2027||3.5 - 4.7.2||1.0-1.1, 2.0, 2.1 |
|Visual Studio 2015 ||Dev14||2015-07-20||14.0||Update 3||2016-06-27||Older version, yet still maintained: October 14, 2025||2.0 - 4.6.1||1.0 |
|Visual Studio 2013 ||Dev12||2013-10-17||12.0||Update 5||2015-07-20||Older version, yet still maintained: April 9, 2024||2.0 - 4.5.1||N/A |
|Visual Studio 2012 ||Dev11||2012-09-12||11.0||Update 5||2015-08-24||Older version, yet still maintained: January 10, 2023||2.0 - 4.5||N/A |
|Visual Studio 2010 ||Dev10||2010-04-12||10.0||Service Pack 1||2011-03-10||Old version, no longer maintained: July 14, 2020||2.0 - 4.0||N/A |
|Visual Studio 2008 ||Orcas||2007-11-19||9.0||Service Pack 1||2008-08-11||Old version, no longer maintained: April 10, 2018||2.0, 3.0, 3.5||N/A |
|Visual Studio 2005 ||Whidbey||2005-11-07||8.0||Service Pack 1||2006-12-15||Old version, no longer maintained: April 12, 2016||2.0||N/A |
|Visual Studio .NET 2003 ||Everett||2003-04-24||7.1||Service Pack 1||2006-08-15||Old version, no longer maintained: October 14, 2013||1.1||N/A |
|Visual Studio .NET (2002) ||Rainier||2002-02-13||7.0||Service Pack 1||2005-03-08||Old version, no longer maintained: July 14, 2009||1.0||N/A |
|Visual Studio 6.0 ||Aspen||1998-09-02||6.0||Service Pack 6||2004-03-29||Old version, no longer maintained: September 30, 2005||N/A||N/A |
|Visual Studio 97 ||Boston||1997-03-19||5.0||Service Pack 3||1997-12-04||Old version, no longer maintained: June 30, 2003||N/A||N/A |
Microsoft first released Visual Studio (codenamed Boston, for the city of the same name, thus beginning the VS codenames related to places) in 1997, bundling many of its programming tools together for the first time. Visual Studio 97 came in two editions: Visual Studio Professional and Visual Studio Enterprise, the professional edition has three CDs, and the enterprise four CDs. It included Visual J++ 1.1 for Java programming and introduced Visual InterDev for creating dynamically generated web sites using Active Server Pages. There was a single companion CD that contained the Microsoft Developer Network library.
Visual Studio 97 was Microsoft's first attempt at using the same development environment for multiple languages. Visual J++, InterDev, and the MSDN Library had all been using the same 'environment', called Developer Studio.
Visual Studio was also sold as a bundle with the separate IDEs used for Visual C++, Visual Basic and Visual FoxPro.
The next version, version 6.0 (codenamed Aspen, after the ski resort in Colorado), was released in June 1998 and is the last version to run on the Windows 9x platform. Each version of each language in part also settled to v6.0, including Visual J++ which was prior v1.1, and Visual InterDev at the 1st release. The v6 edition of Microsoft was the core environment for the next four releases to provide programmers with an integrated look-alike platform. This led Microsoft to transition the development on the platform independent .NET Framework.
Visual Studio 6.0 was the last version to include Visual J++, which Microsoft removed as part of a settlement with Sun Microsystems that required Microsoft Internet Explorer not to provide support for the Java virtual machine.
Visual Studio 6.0 came in two editions: Professional and Enterprise. The Enterprise edition contained extra features not found in Professional edition, including:
- Application Performance Explorer
- Automation Manager
- Microsoft Visual Modeler
- RemAuto Connection Manager
- Visual Studio Analyzer
Visual Studio was also sold as a bundle with the separate IDEs used for Visual C++, Visual Basic and Visual FoxPro.
Microsoft released Visual Studio .NET (VS.NET), codenamed Rainier (for Washington'sMount Rainier), in February 2002 (the beta version was released via Microsoft Developer Network in 2001). The biggest change was the introduction of a managed code development environment using the .NET Framework. Programs developed using .NET are not compiled to machine language (like C++ is, for example) but instead to a format called Microsoft Intermediate Language (MSIL) or Common Intermediate Language (CIL). When a CIL application executes, it is compiled while being executed into the appropriate machine language for the platform it is being executed on, thereby making code portable across several platforms. Programs compiled into CIL can be executed only on platforms which have an implementation of Common Language Infrastructure. It is possible to run CIL programs in Linux or Mac OS X using non-Microsoft .NET implementations like Mono and DotGNU.
This was the first version of Visual Studio to require an NT-based Windows platform. The installer enforces this requirement.
Visual Studio .NET 2002 shipped in four editions: Academic, Professional, Enterprise Developer, and Enterprise Architect. Microsoft introduced C# (C-sharp), a new programming language, that targets .NET. It also introduced the successor to Visual J++ called Visual J#. Visual J# programs use Java's language-syntax. However, unlike Visual J++ programs, Visual J# programs can only target the .NET Framework, not the Java Virtual Machine that all other Java tools target.
Visual Basic changed drastically to fit the new framework, and the new version was called Visual Basic .NET. Microsoft also added extensions to C++, called Managed Extensions for C++, so .NET programs could be created in C++.
Visual Studio .NET can produce applications targeting Windows (using the Windows Forms part of the .NET Framework), the Web (using ASP.NET and Web Services) and, with an add-in, portable devices (using the .NET Compact Framework).
The Visual Studio .NET environment was rewritten to partially use .NET. All languages are versions of Visual Studio, it has a cleaner interface and greater cohesiveness. It is also more customizable with tool windows that automatically hide when not in use. While Visual FoxPro 7 started out as part of Visual Studio .NET 2002, and early VS betas allowed debugging inside VFP-based DLLs, it was removed before release to follow its own development track.
The internal version number of Visual Studio .NET 2002 is version 7.0. Microsoft released Service Pack 1 for Visual Studio .NET 2002 in March 2005.
In April 2003, Microsoft introduced a minor upgrade to Visual Studio .NET called Visual Studio .NET 2003, codenamed Everett (for the city of the same name). It includes an upgrade to the .NET Framework, version 1.1, and is the first release to support developing programs for mobile devices, using ASP.NET or the .NET Compact Framework. The Visual C++ compiler's standards-compliance improved, especially in the area of partial template specialization. Visual C++ Toolkit 2003 is a version of the same C++ compiler shipped with Visual Studio .NET 2003 without the IDE that Microsoft made freely available. As of 2010[update] it is no longer available and the Express Editions have superseded it. The internal version number of Visual Studio .NET 2003 is version 7.1 while the file format version is 8.0.
Visual Studio .NET 2003 shipped in five editions: Academic, Standard, Professional, Enterprise Developer, and Enterprise Architect. The Visual Studio .NET 2003 Enterprise Architect edition includes an implementation of Microsoft Visio 2002's modeling technologies, including tools for creating Unified Modeling Language-based visual representations of an application's architecture, and an object-role modeling (ORM) and logical database-modeling solution. "Enterprise Templates" were also introduced, to help larger development teams standardize coding styles and enforce policies around component usage and property settings.
Service Pack 1 was released 13 September 2006.
Visual Studio 2005 Beta 2 Team Suite installation disc
Visual Studio 2005, codenamed Whidbey (a reference to Whidbey Island in Puget Sound region), was released online in October 2005 and to retail stores a few weeks later. Microsoft removed the ".NET" moniker from Visual Studio 2005 (as well as every other product with .NET in its name), but it still primarily targets the .NET Framework, which was upgraded to version 2.0. It is the last version available for Windows 2000 and also the last version to be able to target Windows 98, Windows Me and Windows NT 4.0 for C++ applications.
Visual Studio 2005's internal version number is 8.0 while the file format version is 9.0. Microsoft released Service Pack 1 for Visual Studio 2005 on 14 December 2006. An additional update for Service Pack 1 that offers Windows Vista compatibility was made available on 3 June 2007.
Visual Studio 2005 was upgraded to support all the new features introduced in .NET Framework 2.0, including generics and ASP.NET 2.0. The IntelliSense feature in Visual Studio was upgraded for generics and new project types were added to support ASP.NET web services. Visual Studio 2005 additionally introduces support for a new task-based build platform called Microsoft Build Engine (MSBuild) which employs a new XML-based project file format. Visual Studio 2005 also includes a local web server, separate from IIS, that can host ASP.NET applications during development and testing. It also supports all SQL Server 2005 databases. Database designers were upgraded to support the ADO.NET 2.0, which is included with .NET Framework 2.0. C++ also got a similar upgrade with the addition of C++/CLI which is slated to replace the use of Managed C++. Other new features of Visual Studio 2005 include the "Deployment Designer" which allows application designs to be validated before deployments, an improved environment for web publishing when combined with ASP.NET 2.0 and load testing to see application performance under various sorts of user loads. Starting with the 2005 edition, Visual Studio also added extensive 64-bit support. While the host development environment itself is only available as a 32-bit application, Visual C++ 2005 supports compiling for x86-64 (AMD64 and Intel 64) as well as IA-64 (Itanium). The Platform SDK included 64-bit compilers and 64-bit versions of the libraries.
Microsoft also announced Visual Studio Tools for Applications as the successor to Visual Basic for Applications (VBA) and VSA (Visual Studio for Applications). VSTA 1.0 was released to manufacturing along with Office 2007. It is included with Office 2007 and is also part of the Visual Studio 2005 SDK. VSTA consists of a customized IDE, based on the Visual Studio 2005 IDE, and a runtime that can be embedded in applications to expose its features via the .NET object model. Office 2007 applications continue to integrate with VBA, except for InfoPath 2007 which integrates with VSTA. Version 2.0 of VSTA (based on Visual Studio 2008) was released in April 2008. It is significantly different from the first version, including features such as dynamic programming and support for WPF, WCF, WF, LINQ, and .NET 3.5 Framework.
Visual Studio 2008, and Visual Studio Team System 2008 codenamed Orcas (a reference to Orcas Island, also an island in Puget Sound region, like Whidbey for the previous 2005 release), were released to MSDN subscribers on 19 November 2007 alongside .NET Framework 3.5. The source code for the Visual Studio 2008 IDE is available under a shared source license to some of Microsoft's partners and ISVs. Microsoft released Service Pack 1 for Visual Studio 2008 on 11 August 2008. The internal version number of Visual Studio 2008 is version 9.0 while the file format version is 10.0. Visual Studio 2008 is the last version to support targeting Windows 2000 for C++ applications.
Visual Studio 2008 is focused on development of