/ Visual Studio Codename “Orcas”
Design Time Compatibility
Status: / Draft / Last updated: 2/15/2007 10:37 PM
author / DJ Park, Raj Pai

Abstract

This document provides a detailed overview of a user’s design time experience when upgrading from a previous version of Visual Studio to Visual Studio Codename “Orcas”.

Microsoft Corporation Technical Documentation License Agreement (Standard)
READ THIS! THIS IS A LEGAL AGREEMENT BETWEEN MICROSOFT CORPORATION ("MICROSOFT") AND THE RECIPIENT OF THESE MATERIALS, WHETHER AN INDIVIDUAL OR AN ENTITY ("YOU"). IF YOU HAVE ACCESSED THIS AGREEMENT IN THE PROCESS OF DOWNLOADING MATERIALS ("MATERIALS") FROM A MICROSOFT WEB SITE, BY CLICKING "I ACCEPT", DOWNLOADING, USING OR PROVIDING FEEDBACK ON THE MATERIALS, YOU AGREE TO THESE TERMS. IF THIS AGREEMENT IS ATTACHED TO MATERIALS, BY ACCESSING, USING OR PROVIDING FEEDBACK ON THE ATTACHED MATERIALS, YOU AGREE TO THESE TERMS.
1. For good and valuable consideration, the receipt and sufficiency of which are acknowledged, You and Microsoft agree as follows:
(a) If You are an authorized representative of the corporation or other entity designated below ("Company"), and such Company has executed a Microsoft Corporation Non-Disclosure Agreement that is not limited to a specific subject matter or event ("Microsoft NDA"), You represent that You have authority to act on behalf of Company and agree that the Confidential Information, as defined in the Microsoft NDA, is subject to the terms and conditions of the Microsoft NDA and that Company will treat the Confidential Information accordingly;
(b) If You are an individual, and have executed a Microsoft NDA, You agree that the Confidential Information, as defined in the Microsoft NDA, is subject to the terms and conditions of the Microsoft NDA and that You will treat the Confidential Information accordingly; or
(c)If a Microsoft NDA has not been executed, You (if You are an individual), or Company (if You are an authorized representative of Company), as applicable, agrees: (a) to refrain from disclosing or distributing the Confidential Information to any third party for five (5) years from the date of disclosure of the Confidential Information by Microsoft to Company/You; (b) to refrain from reproducing or summarizing the Confidential Information; and (c) to take reasonable security precautions, at least as great as the precautions it takes to protect its own confidential information, but no less than reasonable care, to keep confidential the Confidential Information. You/Company, however, may disclose Confidential Information in accordance with a judicial or other governmental order, provided You/Company either (i) gives Microsoft reasonable notice prior to such disclosure and to allow Microsoft a reasonable opportunity to seek a protective order or equivalent, or (ii) obtains written assurance from the applicable judicial or governmental entity that it will afford the Confidential Information the highest level of protection afforded under applicable law or regulation. Confidential Information shall not include any information, however designated, that: (i) is or subsequently becomes publicly available without Your/Company’s breach of any obligation owed to Microsoft; (ii) became known to You/Company prior to Microsoft’s disclosure of such information to You/Company pursuant to the terms of this Agreement; (iii) became known to You/Company from a source other than Microsoft other than by the breach of an obligation of confidentiality owed to Microsoft; or (iv) is independently developed by You/Company. For purposes of this paragraph, "Confidential Information" means nonpublic information that Microsoft designates as being confidential or which, under the circumstances surrounding disclosure ought to be treated as confidential by Recipient. "Confidential Information" includes, without limitation, information in tangible or intangible form relating to and/or including released or unreleased Microsoft software or hardware products, the marketing or promotion of any Microsoft product, Microsoft's business policies or practices, and information received from others that Microsoft is obligated to treat as confidential.
2. You may review these Materials only (a) as a reference to assist You in planning and designing Your product, service or technology ("Product") to interface with a Microsoft Product as described in these Materials; and (b) to provide feedback on these Materials to Microsoft. All other rights are retained by Microsoft; this agreement does not give You rights under any Microsoft patents. You may not (i) duplicate any part of these Materials, (ii) remove this agreement or any notices from these Materials, or (iii) give any part of these Materials, or assign or otherwise provide Your rights under this agreement, to anyone else.
3. These Materials may contain preliminary information or inaccuracies, and may not correctly represent any associated Microsoft Product as commercially released. All Materials are provided entirely "AS IS." To the extent permitted by law, MICROSOFT MAKES NO WARRANTY OF ANY KIND, DISCLAIMS ALL EXPRESS, IMPLIED AND STATUTORY WARRANTIES, AND ASSUMES NO LIABILITY TO YOU FOR ANY DAMAGES OF ANY TYPE IN CONNECTION WITH THESE MATERIALS OR ANY INTELLECTUAL PROPERTY IN THEM.
4. If You are an entity and (a) merge into another entity or (b) a controlling ownership interest in You changes, Your right to use these Materials automatically terminates and You must destroy them.
5. You have no obligation to give Microsoft any suggestions, comments or other feedback ("Feedback") relating to these Materials. However, any Feedback you voluntarily provide may be used in Microsoft Products and related specifications or other documentation (collectively, "Microsoft Offerings") which in turn may be relied upon by other third parties to develop their own Products. Accordingly, if You do give Microsoft Feedback on any version of these Materials or the Microsoft Offerings to which they apply, You agree: (a) Microsoft may freely use, reproduce, license, distribute, and otherwise commercialize Your Feedback in any Microsoft Offering; (b) You also grant third parties, without charge, only those patent rights necessary to enable other Products to use or interface with any specific parts of a Microsoft Product that incorporate Your Feedback; and (c) You will not give Microsoft any Feedback (i) that You have reason to believe is subject to any patent, copyright or other intellectual property claim or right of any third party; or (ii) subject to license terms which seek to require any Microsoft Offering incorporating or derived from such Feedback, or other Microsoft intellectual property, to be licensed to or otherwise shared with any third party.
6. Microsoft has no obligation to maintain confidentiality of any Microsoft Offering, but otherwise the confidentiality of Your Feedback, including Your identity as the source of such Feedback, is governed by Your NDA.
7. This agreement is governed by the laws of the State of Washington. Any dispute involving it must be brought in the federal or state superior courts located in King County, Washington, and You waive any defenses allowing the dispute to be litigated elsewhere. If there is litigation, the losing party must pay the other party’s reasonable attorneys’ fees, costs and other expenses. If any part of this agreement is unenforceable, it will be considered modified to the extent necessary to make it enforceable, and the remainder shall continue in effect. This agreement is the entire agreement between You and Microsoft concerning these Materials; it may be changed only by a written document signed by both You and Microsoft.

1. Overview

1.1 Goal

1.2 Terminology

1.3 Background

2. Visual Studio Artifacts

2.1 Projects/Solutions

2.1.1 Backward Compatibility

2.1.2 Forward Compatibility

2.2 IDE Customizations

2.2.1 Project and Item Templates

2.2.2 Code Snippets

2.2.3 Intellisense Files

2.2.4 User Settings

2.2.5 User/Custom Controls

2.2.6 Help Collections

2.2.7 Macros

2.2.8 Add-ins

2.2.9 VSIP Packages

2.3 Build

2.4 Source Code Control

3. Migrating Visual Studio Team System (VSTS) to Orcas

3.1 TFS Compatibility

3.2 Project/Solution Artifacts

3.3 Other Artifacts

3.4 Extensibility

4. Migrating Office Applications to Orcas

4.1 Design Time

4.2 Run Time

4.3 Server

5. Migrating Device Applications to Orcas

5.1 Managed Scenario

5.2 Native Scenario

5.3 Device Emulator

5.4 Core Connectivity

6. Debugging Experience

7. Useful Links/Resources

Page 1

1.Overview

Compatibility with previous versions of Visual Studio is a core requirement for Visual Studio Codename “Orcas”. This document specifically aims to provide a detailed look into a user’s design time experience when upgrading to Orcas.

1.1Goal

The primary goal of Orcaswith respect to design time compatibility is to minimize the number of barriers that users will experience after upgrading their projects and solutions. In order to meet this goal, the following requirements must be met:

  1. The upgrade experience from Visual Studio 2005 to Orcasmustbe comparable to the upgrade experience from Visual Studio .NET 2003 to Visual Studio 2005.
  2. The user must be notified of all modifications made to the users system or project/solution during the upgrade process
  3. Orcasmust continue to work side by side with Visual Studio .NET 2002/2003 and Visual Studio 2005.

1.2Terminology

Multi-targeting

Multi-targeting is a new feature in Orcas that will enable users to leverage the productivity features of Orcas while developing applications targeting a range of .NET framework versions (more specifically 2.0, 3.0, and 3.5).

1.3Background

Product / Description
Visual Studio .NET (2002) / Visual Studio .NET, codenamed “Everett”, was released in 2002 and introduced a development environment for managed code using the .NET Framework (version 1.0). This release introduced the Visual C# and J# programming languages, in addition to.NET support for Visual Basic and C++.
Visual Studio .NET 2003 / Visual Studio .NET 2003 upgraded the .NET Framework to version 1.1, in addition to adding support for Mobile Devices using ASP.NET and the .NET Compact Framework. This product shipped in four SKU’s: Academic, Professional, Enterprise Developer, and Enterprise Architect.
Visual Studio 2005 / Visual Studio 2005, codenamed “Whidbey”, was released in 2005 along with .NET Framework version 2.0. This release had several improvements over Visual Studio .NET 2003 such as:
  1. The introduction of language features such as generics into C# and VB
  2. Extended 64-bit support
  3. The introduction of Tools for Office, a set of tools that enabled developers to extend Office
  4. The introduction of an Express edition targeted towards hobbyists/small businesses
This product was shipped in several SKU’s: Express, Standard, Professional, Tools for Office, and Visual Studio Team System.
Visual Studio Codename “Orcas” / Visual Studio Codename “Orcas” is the next version of Visual Studio that willintroduce several enhancements to the product along with support for .NET Framework versions 3.0 and 3.5.
  • Version 3.0 is a set of assemblies that have been added to .NET 2.0 that includes service pack-level fixes to existing assemblies, in addition to added support for technologies such as Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Workflow (WF). .NET 3.0 will be installed by default on Windows Vista.
  • Version 3.5 consists of service-pack level fixes to existing assemblies in addition to the new compilers, tools, and assemblies required to support Language Integrated Query (LINQ) in VB 9.0 and C# 3.0. This version will also include several new tools such as the WPF Designer.

Table 1: Overview of Visual Studio and .NET Framework

2.Visual Studio Artifacts

This section describes the design time experience of usingartifacts from previous versions of Visual Studio with Orcas.

2.1Projects/Solutions

2.1.1Backward Compatibility

Orcas will be fully backwards compatible with projects/solutions created in Visual Studio .NET 2002/2003, and Visual Studio 2005. The upgrade process will modify the project (.*proj) and solution (.sln) files to be consistent with the Orcas format and will also set the target framework of these upgraded projects/solutions to the versions listed in Table 3 below.

Solution Version
(.sln file) / Product Version (.*proj file) / Schema Version
(.*proj file)
Visual Studio .NET 2002 / 7.00 / 7.0.995 / 1.0
Visual Studio .NET 2003 / 8.00 / 7.10.6030 / 2.0
Visual Studio 2005 / 9.00 / 8.0.50727 / 2.0
Visual Studio Codename “Orcas” / 10.00 / 9.0.20207 / 2.0

Table 2: Versioning information for Visual Studio projects/solutions

VS2002/2003 -> Orcas / VS2005 -> Orcas
VS Standard+ /
  1. Versioning information in .sln and .*proj files isupdated to the Orcas format
  2. Target framework set to 2.0
/
  1. Versioning information in .sln and .*proj files is updated to the Orcas format
  2. Target framework set to 2.0

VS Express (VB, C#, C++, VWD) / N/A /
  1. Versioning information in .sln and .*proj files is updated to the Orcas format.
  2. Target framework set to 3.5
(exception: Visual Web Developer Express will prompt user to upgrade the target framework)

Table 3: Summary of behavior when opening projects/solutions in Orcas

2.1.2Forward Compatibility

In general, working with Orcas projects/solutions in Visual Studio .NET 2002/2003 or Visual Studio 2005 is not a supported scenario.

2.2IDE Customizations

The Visual Studio IDE (Integrated Development Environment) is composed of hundreds of smaller components that fit together to form the end to end experience. This section describes the compatibility behavior of some of these fundamental components.

2.2.1Project and Item Templates

Project and item templates created for Visual Studio .NET 2002/2003 or Visual Studio 2005 will not behaveas expected in Orcas without being updated with the new versioning information. This versioning change is designed to prevent incompatibility issues from opening Orcas templates in previous version of Visual Studio.

2.2.2Code Snippets

Code snippets were introduced in Visual Studio 2005 and are used to automatically generate boiler plate code with a few keystrokes. Code snippets created in Visual Studio 2005 will continue to work unchanged in Orcas and will also be automatically detected during the settings migration process.

2.2.3Intellisense Files

Intellisense files (i.e. XML Doc Comment files) are used in conjunction with Intellisense to provide the user with the most useful information during design time. Intellisense files from both Visual Studio .NET 2002/2003 and Visual Studio 2005 will continue to work unchanged in Orcas.

2.2.4User Settings

User settings are used to store customized settings information for each user (e.g. Fonts/Colors, Keyboard shortcuts, Text Editor settings etc). Although user settings from Visual Studio .NET 2002/2003 will not be migrated over to Orcas,user settings from Visual Studio 2005 will be migrated to Orcas should the user opt to do so when presented with the option at the first-launch dialog box. Otherwise, users will be able to use the Tools | Import and Export Settings to do so at a later time.

2.2.5User/Custom Controls

User/Custom controls created in Visual Studio 2005 will continue to work in Orcas unchanged. These controls may need to be explicitly registered with the Orcas toolbox in order to be made available in Orcas.

2.2.6Help Collections

Help collections from Visual Studio 2005 will continue to work in Orcas unchanged. However, they will need to be explicitly registered in Orcas in order to be available to the user for viewing. Similarly, Visual Studio 2005 Help Favorites and Filters will continue to work in Orcas, but will not be automatically discovered by Orcas. (Note that Help Favorites may point to Help pages that are not in collections registered in Orcas.)

2.2.7Macros

Macrosfrom Visual Studio 2005 will continue to work in Orcas. In order to be discovered by Orcas, however,macros will need to be copied to the Orcas macro probing path.

2.2.8Add-ins

Add-ins from Visual Studio 2005 will continue to work in Orcas. In order to be discovered by Orcas, however, add-ins will need to be copied to the Orcas add-in probing path and be registered for Orcas (for native add-ins, via the registry, for managed add-ins via the .add-in XML file). End-users can make these changes themselves, or the add-in ISV will re-release the add-in

2.2.9VSIP Packages

VSIP packages from Visual Studio 2005 will continue to work in Orcas. In order to be discovered in Orcas, however, VSIP packages will need to be registered for Orcas (via the registry), which will require a re-release of the package with an updated Setup.

2.3Build

MSBuild targets, in addition to any MSBuild task that implements the ITask interface, will continue to build in Orcas without change. However, the MSBuild log parser from Visual Studio .NET 2002/2003 or Visual Studio 2005 will need to be modified to output the new Orcas log format.

Something to also keep in mind is that Orcas projects targeting .NET Framework 2.0 will build using the Orcas3.5 toolset. Consequently, they may not match bit-for-bit when compared to the images generated using the Visual Studio 2005 toolset. Fortunately, the user can choose to build using MSBuild Orcas + Visual Studio 2005 toolset as long as they are targeting2.0 only.

2.4Source Code Control

Source Code Control (SCC) providers based on the Microsoft Source Code Control Provider Interface (MSSCCI) will continue to work in Orcas, and will be automatically discovered by Orcas as well. SCC providers based on the VSIP Source Code Control Interface (SCCI) will also continue to work in Orcas, but will need to be explicitly registered with Orcas in order to be recognized.

3.Migrating Visual Studio Team System (VSTS) to Orcas

Visual Studio Team System (VSTS) compatibility breaks down into four high level experiences:

•Interoperability of TFS artifacts from the Visual Studio 2005 and Orcas releases

•Upgrade of artifacts during the Visual Studio to Orcas solution upgrade process

•Upgrade of artifacts when saved

•Compatibility of VSTS extensibility points between Visual Studio 2005 and Orcas.

3.1TFS Compatibility

For TFS interoperability between Visual Studio 2005and Orcas, we are committing to 2-way interoperability. Orcas clients will be able to communicate with a Visual Studio 2005servers and will surface functionality from Visual Studio 2005 within the Orcas IDE while new features in Orcas will remain invisible. The Visual Studio 2005client will also be able to connect to the Orcas server. The Orcas server will expose the same web services that are exposed by the Visual Studio 2005server and the user of the client will notice no differences.

3.2Project/Solution Artifacts

For solution and project level artifacts such as the Test project type created by the Test SKU, upgrade will happen as part of the solution upgrade process.

3.3Other Artifacts

For the remaining artifacts, upgrade will happen when the artifact is saved. The Orcas IDE will be able to read both Orcas and Visual Studio 2005 artifacts but will only write those artifacts in the Orcas format.

3.4Extensibility

For extensibility points, we will maintain compatibility with extensions that are authored for Visual Studio 2005. However, extensions authored for Orcas may leverage functionality that is not available in Visual Studio 2005, in which case, they will not be compatible.