Visual Studio 2012 兼容性

本文档提供有关 Visual Studio 2010 Service Pack 1 (SP1) 中创建的解决方案、项目、文件和其他资产的 Visual Studio 2012兼容性的信息。

  • 自动兼容的资产

  • Assets that require your attention

  • 项目

  • Files

  • 集成资产

要在 Visual Studio 2012 中使用该功能,可能需要升级在 Visual Studio 2010 中创建的某些类型的解决方案、项目、文件以及其他资产。 在 Visual Studio 2010 SP1 中创建的许多资产将在 Visual Studio 2012 中加载和运行,无需再执行更多操作。 即使在 Visual Studio 2012 打开资产后,许多资产也依然能在 Visual Studio 2010 SP1 中再次成功打开。 有关仅限 Visual Studio 2010 SP1 资产可以无缝地迁移到 Visual Studio 2012 且在两个版本中可成功打开的原因,请参见 Microsoft 网站上的使用 Visual Studio 11 进行往返

自动兼容的资产

Visual Studio 支持许多项类型、文件类型和其他资产。 您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开最广泛使用的资产,并且不论您使用的是哪一个版本,这些资产的表现形式都相同。 例如,您可以使用 Visual Studio 2012 打开和修改在 Visual Studio 2010 SP1 中创建的项目。 如果您随后重新打开 Visual Studio 2010 SP1 中的项目,则修改会保存,并且项目会像在 Visual Studio 2012 中一样执行。

下表列出了 Visual Studio 2010 SP1 项目类型、文件类型以及在 Visual Studio 2012中自动工作的其他资产。

net_v45

调试器转储文件

SharePoint 2010

Visual Studio 实验室管理工具版

AppManifest,Inbrowsersettings,OutOfBrowserSettings(.xml 文件)

定向图形标记语言 (DGML) 关系图文件

SketchFlow

Windows Azure Tools for Visual Studio version 1.7

BizTalk 平面文件架构

实体数据模型 (EDMX) 文件

sskatmai_r2 学习版

Windows Communication Foundation,Windows Presentation Foundation

C#/Visual Basic Silverlight 4 或 Silverlight 5 应用程序或类库

来自 vs2010 的 IntelliTrace 日志文件

SQL Server 报告项目

Windows Communication Foundation,Windows Presentation Foundation

C#/Visual Basic Webform 或 Windows 窗体

Model-View-Controller framework 3 or 4

单元测试

其他

代码分析规则集

MPI/群集调试

Visual C++

代码评审和“我的工作”

Office 2010 VSTO

Visual Studio 2010 web

数据层应用程序包文件

探查器报告文件

Visual Studio 2010 数据库 (.dbproj)

要求关注的资产

在 Visual Studio 2010 SP1 中创建的某些资产在 Visual Studio 2012 中打开前需要进行修改。 如果您打开要求修改的资产,则会出现**“复查项目和解决方案更改”**对话框,并将资产分入这些组之一:

  • **要求功能性更改。**您必须先修改这些资产,然后才能在 Visual Studio 2012 中打开。 资产更改后,您仍可在 Visual Studio 2010 SP1 中打开它们,但是项目行为将发生更改。 这是属于此类别的项目和文件类型:

    C#/Visual Basic Silverlight 4 或 Silverlight 5 应用程序或类库

    编码 UI 测试

    建模

    C#/Visual Basic Silverlight 3 应用程序或类库

  • **单向升级。**您必须先升级这些资产,然后才能在 Visual Studio 2012 中打开。 在将它们升级之后,您无法在 Visual Studio 2010 SP1 中打开它们。 此表列出必须升级的几类资产:

    BizTalk 2010

    Rich Internet Applications

    ssKatmai_exp 数据库

    F#

    解决方案 (.suo) 文件

    Visual Studio SDK/VSIX

    LightSwitch

    SQL Server CE 3.5

  • **不支持。**您不能在 Visual Studio 2012 中打开这些资产。 您必须在支持这些资产的 Visual Studio 版本中打开。 下表列出了 Visual Studio 2012 不支持的资产类型。

    Model-View-Controller framework 2

    SharePoint 2007

    Windows Mobile

    MSI 设置 (.vdproj)

    Visual Studio 宏

    Windows Phone

    Office 2007 VSTO

    Windows Azure Tools for Visual Studio version 1.6 or earlier

备注

如果尝试打开一个项目,但是该项目在 Visual Studio 2012 中不受支持且未安装关联的 Visual Studio 版本,则您可能会收到项目类型不支持的消息,而该项目类型将出现在“不受支持的项目”下的“复查项目和解决方案更改”对话框中。要在 Windows 8 中解决此问题,请打开“控制面板”,然后选择“程序”“程序和功能”“Visual Studio”“更改”“修复”。然后,可以安装所缺少版本。

备注

如果尝试打开 Visual Studio Express 2012 for Windows 8 中的桌面应用程序项目,则会发生错误,并且会显示以下其中一条消息:“此版本 Visual Studio 仅支持 Visual Studio Windows 应用商店 应用程序”或“此项与当前版本的 Visual Studio 不兼容”。Visual Studio Express 2012 for Windows 8 限于 Windows 应用商店 应用程序的开发、测试和部署。要打开桌面应用程序项目,必须使用支持该项目类型的 Visual Studio 版本。有关 Visual Studio 版本的更多信息,请参见 Microsoft Visual Studio 产品

如果您的团队同时使用 Visual Studio 2012 和 Visual Studio 2010 SP1,您可在任一版本中继续创建和修改项目和文件,只要不再添加要求 Visual Studio 2012 的功能即可。

警告

如果项目需要针对 Visual Studio 2012 的功能,则无法打开早期版本的该项目。例如,如果您尝试使用 Visual Studio 的早期版本,则会发生错误 — 例如,Visual Studio 2010— 打开面向 .NET Framework 4.5 的项目。此外,可以启用语言功能(如 Visual Basic 迭代器和 Visual Studio 2012 中的 Visual Basic 核心,但是这些项目在早期版本中可能不能正确生成。

如果您正使用无 SP1 的 Visual Studio 2010,并且要打开已创建 Visual Studio 2012 的项目,则可能能够自定义项目系统,以合并 Visual Studio 2012 功能。 有关如何执行此操作的信息,请参见如何:修改项目系统,以便项目在 Visual Studio 的多个版本加载

项目

以下列表描述了对使用 Visual Studio 2010 SP1 所创建项目在 Visual Studio 2012 中的支持。 您可以使用此列表来帮助确定是否能在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开项目,以及为便于兼容而必须进行的更改(如果有)。

项目的类型

兼容性

.NET Framework 4.5

您可以在 Visual Studio 2012 中创建并打开该项目,但不能在 Visual Studio 2010 SP1 中执行该操作。 有关更多信息,请参见 .NET Framework 4.5 的迁移指南

BizTalk 2010

无法在 Visual Studio 2012 中打开此项目。

C#/Visual Basic Silverlight 4 或 Silverlight 5 应用程序或类库

如果允许 Visual Studio 自动更新项目,则可以在 Visual Studio 2012 或 Visual Studio 2010 SP1 中打开。

C#/Visual Basic Silverlight 3 应用程序或类库

如果允许 Visual Studio 将项目升级到 Silverlight 5,并且在运行 Visual Studio 2012 和 Visual Studio 2010 SP1 的计算机上安装相应的 Silverlight 运行时和工具,则可以在两个版本的 Visual Studio 中打开项目。

C#/Visual Basic Webform 或 Windows 窗体

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开该项目。

编码 UI 测试

如果允许 Visual Studio 自动更新项目,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开。 有关更多信息,请参见从 Visual Studio 的早期版本升级测试

F#

当您在该版本首先打开它们时,您可以升级大多数 F# 项目到 Visual Studio 2012。 但是,无法将 Visual Studio 早期版本中创建的 Silverlight 项目升级为 Visual Studio 2012。 相反,您必须在 Visual Studio 2012 中创建一个 Silverlight 项目,然后将您的代码复制到其中。 在 Visual Studio 2012 目标 Silverlight 5 中创建的 Silverlight 项目。

LightSwitch

如果允许 Visual Studio 自动升级项目,则只能在 Visual Studio 2012 中打开。

本地数据库缓存

本地数据库缓存模板和“配置数据同步”对话框未包括在 Visual Studio 2012 中。 如果安装的是 Microsoft Synchronization Services v1.0,您可以使用 Visual Studio 2012 来打开并运行在 Visual Studio 2010 中创建的项目,但是,如果您需要在 Visual Studio 2012 中进行更行,则必须手动对代码进行全部更改。 或者,可以继续使用 Visual Studio 2010 维护和更新这些项目。对于新开发,请面向由 Microsoft Sync Framework 提供的新同步模型。 有关信息,请参见 Microsoft Sync Framework 开发人员中心

模型视图控制器框架

如果模型 - 视图 - 控制器 (MVC) 项目使用版本 3 或 4,则可以在 Visual Studio 2012 中打开它。 默认情况下,Visual Studio 2010 SP1 仅支持 MVC 2 和 3,而 Visual Studio 2012 仅支持 MVC 3 和 4。 有关如何从 MVC 2 自动升级到 MCV 3 的信息,请参见 ASP.NET MVC 3 应用程序升级程序。 有关如何从 MVC 2 到 MVC 手动升级 3 的信息,请参见升级 ASP.NET MVC 2 项目到 ASP.NET MVC 3 Tools 更新。 如果您的项目面向 .NET Framework 3.5 SP1,则必须重定目标以使用 .NET Framework 4。

建模

如果允许 Visual Studio 自动更新项目,则可以在 Visual Studio 2012 或 Visual Studio 2010 SP1 中打开。

生成建模项目时,Team Foundation Build 将尝试验证项目中的层。 在 Visual Studio 2012 中,Team Foundation Build 无法验证在 Visual Studio 2010 SP1 中创建的建模项目中的层。 但是,在 Visual Studio 2010 SP1 中,Team Foundation Build 可以验证 Visual Studio 2012 中创建的建模项目中的层。

MPI/群集调试

如果相同版本的运行时或工具安装于正在运行 Visual Studio 2012 和 Visual Studio 2010 SP1 的计算机上,则可以在两者中打开此项目。

MSI 设置 (.vdproj)

您不能在 Visual Studio 2012 中打开此项目,因为它不支持该项目类型。 我们建议您使用 InstallShield Limited Edition for Visual Studio (ISLE),这是一个直接支持大多数 Windows 平台和应用程序运行时的免费部署解决方案。 您还可以使用 ISLE 从 Visual Studio Installer 项目导入数据和设置。 有关更多信息,请参见Windows Installer 部署

Office 2007 VSTO

如果您升级项目以面向 Office 2010 和 .NET framework 4,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开此项目。

Office 2010 VSTO

如果项目面向 .NET framework 4,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开此项目。 其他所有项目需要单向升级。

丰富的 Internet 应用程序

如果您升级项目,则只能在 Visual Studio 2012 中将其打开。 有关更多信息,请参见如何:将丰富的 Internet 应用程序升级到 Visual Studio 2012

SharePoint 2007

您不能在 Visual Studio 2012 中打开此项目。 如果您将项目手动升级到 SharePoint 2010,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中将其打开。 有关如何升级 SharePoint 2007 的详细信息,请参见 从 SharePoint 2007 迁移到 SharePoint 2010 (IT Pro)从 2007 工作流迁移到 Visual Studio & SharePoint 2010,以及 SharePoint Server 2010 的 SharePoint 企业搜索迁移工具

SharePoint 2010

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开该项目。

SketchFlow

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开该项目。

SQL Server CE 3.5

如果您将项目升级为 SQL Server CE 4.0,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中将其打开。

SQL Server 2008 Express 数据库

只能在 Visual Studio 2012 中打开此项目。 如果您有使用 SQL Server 的早期版本创建的数据库文件 (.mdf),则必须将其升级为 SQL Server 2012,然后才能使用它和 SQL Server Express LocalDB。 如果升级该文件,将获得 SQL Server Express LocalDB 的优势,但是数据库将不再与 SQL Server 的早期版本兼容。 如果不升级文件,则可通过安装和使用您本地计算机上的 SQL Server 2008 Express,继续使用 Visual Studio 2012 数据库。 有关更多信息,请参见如何:升级到 LocalDB 或继续使用 SQL Server Express

SQL Server 2008 R2 学习版

如果 SQL Server 2008 R2 Express 安装于正在运行 Visual Studio 2012 和 Visual Studio 2010 SP1 的计算机上,则可以在这两者中打开项目。

SQL Server 报告项目

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开该项目。 若仅限本地模式(即,在未连接到 SQL Server 时),您不会获得与 Visual Studio 2010 中的浏览器相关联的控件设计时体验,但是该项目在运行时将正常工作。

警告说明警告
如果添加针对 Visual Studio 2012 的功能,则报表架构将自动升级,您也不再能够在 Visual Studio 2010 SP1 中打开项目。

单元测试

您可以在 Visual Studio 2010 SP1 和 Visual Studio 2012 中使用 Microsoft 测试管理器 来打开在上述任一版本中创建的测试。 有关更多信息,请参见从 Visual Studio 的早期版本升级测试

Visual C++

可使用 Visual Studio 2012 来打开 Visual Studio 2010 SP1 中创建的 C++ 项目。 如要使用 Visual Studio 2012 生成环境以生成在 Visual Studio 2010 SP1 中创建的项目,则必须在您的本地计算机上安装两个版本的 Visual Studio。 有关更多信息,请参见如何:将 Visual C++ 项目升级到 Visual Studio 2012

Visual Studio 2010 web

如果允许 Visual Studio 自动升级项目,则可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开。

Visual Studio 2010 数据库 (.dbproj)

如果将项目转换为 SQL Server 数据工具数据库项目,则可以在 Visual Studio 2012 中将其打开。 但是,Visual Studio 2012 不支持这些项目:

  • 单元测试

  • 数据生成计划

  • 数据比较文件

  • 自定义静态代码分析的规则扩展

  • server.sqlsettings

  • .sqlcmd 文件

  • 自定义部署扩展

  • 分部项目 (.files)

如果您安装了 SQL Server 数据工具,则可以在转换后打开 Visual Studio 2010 SP1 中的项目。 有关更多信息,请参见Microsoft SQL Server Data Tools

Visual Studio 2010 Visual Database Tools

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开此项目。

Visual Studio 实验室管理工具版

您可以在 Visual Studio 2012 或 Visual Studio 2010 SP1 中使用 Microsoft 测试管理器 来打开在上述任一版本中创建的环境。 但在创建环境之前,您的 Microsoft 测试管理器的版本必须与您的 Team Foundation server 的版本匹配。 有关更多信息,请参见从 Visual Studio 2010 升级实验室管理组件

Visual Studio 宏

您不能在 Visual Studio 2012 中打开此项目,因为它不支持该项目类型。

Visual Studio SDK/VSIX

在升级 Visual Studio SDK 项目后,您只能在 Visual Studio 2012 中将其打开。 有关更多信息,请参见如何:迁移 Vspackage 到 Visual Studio 2010

适用于 Visual Studio 的 Windows Azure 工具

如果您正使用针对 Visual Studio 1.7 版的 Windows Azure Tools,则可在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开此项目。 有关如何使用 Windows Azure tools for Visual Studio 的最新信息,请参见 Windows Azure Tools 中的新增功能。 如果您正使用 1.6 或之前的版本,则无法在 Visual Studio 2012 中打开此项目。

Windows Communication Foundation,Windows Presentation Foundation

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开此项目。

Windows Mobile

您不能在 Visual Studio 2012 中打开此项目,因为它不支持该项目类型。

Windows Phone

您不能在 Visual Studio 2012 中打开此项目,因为它不支持该项目类型。

其他

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开大多数其他项目类型。

Files

以下列表标识了 Visual Studio 2012 是否支持每个类型的文件,是否可以在 Visual Studio 2012 和 Visual Studio 2010 SP1中打开文件,以及必须为兼容采取的变化(若有)。

文件类型

兼容性

AppManifest,Inbrowsersettings,OutOfBrowserSettings(.xml 文件)

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开这些文件。

BizTalk 平面文件架构

您不能在 Visual Studio 2012 中将这些架构添加到 BizTalk 项目。

客户端报表定义 (.rdlc) 文件

您可以在 Visual Studio 2012 中打开这些文件,并且,如果您添加了 Visual Studio 2012 功能和控件,则将自动升级架构。

代码分析规则集

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开这些文件。

数据层应用程序包文件

您可以在 Visual Studio 2012 中打开这些文件,前提是其版本为 2.0 或 2.5。

调试器转储文件

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开这些文件。 您必须在 Visual Studio 2010 SP1 中安装 .NET Framework 4.5,以查看在 Visual Studio 2012 中为 Windows 应用商店 应用程序创建的托管转储。

定向图形标记语言 (DGML) 关系图文件

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开这些文件,而无需更改文件。 Visual Studio 2010 SP1 可以显示在 Visual Studio 2012 中生成的关系图中的所有节点和链接,但不能显示未从数据库进行检索的节点和链接。

实体数据模型 (EDMX) 文件

在 Visual Studio 2012 中,可以打开面向 .NET Framework 3.5 或 .NET Framework 4 的 EDMX 文件,不用对文件做任何更改。 如果您在 Visual Studio 2012 中创建 EDMX 文件,并且这些文件面向 .NET Framework 4.5 或者由数据库项目或 DACPAC 生成,您将不能在 Visual Studio 2010 SP1 中打开这些文件。 要在 Visual Studio 2010 SP1 中打开此类文件,必须手动重新选定目标或转换该文件,如下所示:

  1. “实体设计器”中,打开项目。

  2. 打开项目的快捷菜单,选择 “导出完整 EDMX”,然后保存新文件。

输出为面向数据库的 EDMX 文件,而不是数据库项目(.dacpac 文件)。

探查器报告文件

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开探查器报告文件(.vsp、.vsps、.psess 和 .vspf)。 您不能在 Visual Studio 2010 SP1 中打开 .vspx 文件。

解决方案 (.suo) 文件

您可以使用 Visual Studio 2012 来打开在 Visual Studio 2010 SP1 中创建的解决方案文件,但断点、列管项目、数据提示和异常设置都将迁移至新的 .suo 文件。 如果您重新打开 Visual Studio 2010 SP1 中的解决方案,则使用原始 .suo 文件。 在 .suo 文件中的更改未在两个版本之间同步。

SQLX 文件

要在 Visual Studio 2012 中打开这些文件,必须执行单向升级、在 Visual Studio 的目标版本中部署 .sqlx 文件,然后重新生成 .dacpac 格式的文件。

来自 Visual Studio 2010 的 IntelliTrace 日志文件

您可以在 Visual Studio 2012 和 Visual Studio 2010 SP1 中打开这些文件,但是您无法在 Visual Studio 2010 SP1 中使用 Visual Studio 2012 中的 IntelliTrace 文件,因为新版本的功能不同。

集成资产

如果您所使用客户端和服务器的 Visual Studio Team Foundation Server 版本不同,则可能遇到兼容性问题。

集成类型

兼容性

代码评审和“我的工作”

如果将 Team Foundation 客户端连接到 Visual Studio Team Foundation Server 2010,您将不能使用“代码评审”和“我的工作”功能。

Visual Studio Express 2012 for Windows 8

您不能使用 64 位环境(如 MSBuild 或 Team Foundation Build)来生成您在 Visual Studio Express 2012 for Windows 8 中创建的 Windows 应用商店 的应用程序。

请参见

任务

如何:修改项目系统,以便项目在 Visual Studio 的多个版本加载