Visual Studio 2015 RC 修复的错误和已知问题

Visual Studio 2015 RC 修复的错误和已知问题
本文列出了 Microsoft Visual Studio 2015 Release Candidate (RC) 修复的错误和已知问题。

Visual Studio 2015 RC 是 Visual Studio 下一个主要版本的预发布版本。此页面上提供的 Visual Studio 2015 RC 产品均已正式上线。这表示客户可以在生产环境中使用这些内部版本。这些版本仍是预发行版,因此可能包含一些错误,将在最终发行版中修复。

要查看 Visual Studio 2015 RC 产品的完整列表并选择要下载的产品,请参阅 Visual Studio 下载

Visual Studio 2015 RC 详细信息

要查看 Visual Studio 2015 RC 中的新增功能,请参阅Visual Studio RC 发行说明

已知问题

安装
安装之前
  • 在 Visual Studio 2015 RC 安装过程中,如果选择一个非 Windows 驱动器来安装 Visual Studio,程序的一大部分仍将安装到系统驱动器上。仅程序的一小部分将安装到该非 Windows 驱动器。
  • 删除 Visual Studio Tools for Windows 10 Insider Preview,然后再安装 Visual Studio 2015 RC。如果您已安装 Visual Studio 2015 CTP6 和 Visual Studio Tools for Windows 10 Insider Preview,则必须先卸载 Tools for Windows 10,然后再安装 Visual Studio 2015 RC。
  • 当您在运行 Windows 7 SP1 的计算机上安装 Visual Studio 2015 RC 时,Dotfuscator 安装程序中的 authenticode 证书将无法验证计算机是否已从 Internet 断开。

    若要解决此问题,请使用下列方法之一:
    • 发生此问题时,单击“跳过程序包”以跳过 Dotfuscator 安装。Visual Studio 2015 安装程序将如常继续运行。但是不会安装 Dotfuscator。
    • 将计算机连接至 Internet。
从以前发行版升级
  • 当您安装 Visual Studio 2015 RC 时,有时在“进度”对话框中您不会看到进度栏移动。因此,您可能会认为 Visual Studio 安装程序没有响应。

    要解决此问题,请使用任务管理器检查安装程序界面后台的活动。查找使用大量网络带宽或硬盘时间的进程。安装程序通常使用大量网络带宽来下载程序,并使用大量硬盘时间来解压缩和复制文件。如果程序的名称与安装相关,您可以看到即使工作未发送到安装程序界面,它仍在执行。如果这些程序与安装程序没有相似之处,则会与安装程序争用计算机资源。
  • 当您从 Visual Studio 2015 CTP 升级到 Visual Studio 2015 RC 时,不会删除 Microsoft Test Manager 2015 CTP 和 Feedback Client 2015 CTP 的快捷方式,但会将添加 RC 副本的快捷方式。您可以从 CTP 安全地删除快捷方式以免混淆。如果您选择忽略 CTP 快捷方式,不会丢失任何功能,因为 CTP 快捷方式也可以打开产品的 RC 版本。
  • 假设您从 Visual Studio 2015 版本升级到 Visual Studio 2015 RC,您可以选择“典型”或“自定义”安装类型。升级后,您可以会发现早期 Visual Studio 版本中的某些功能在 Visual Studio 2015 RC 中不存在。

    要解决此问题,请按照下列步骤操作:
    1. 在控制面板中,打开程序和功能项,然后再启动 RC 安装。
    2. 单击早期 Visual Studio 2015 发行版的条目,然后单击“自定义”。
    3. 在“维护模式”对话框中,单击“修改”。
    4. 请注意 UI 中选中的复选框。
    5. 在 RC 安装中,单击“自定义”。
    6. 使用注释匹配之前发行版的复选框选择。
  • 当 Visual Studio 2013 部署代理自动升级以在 Visual Studio 2015 RC 服务器上运行时,部署代理将使用“通过 HTTP(s) 的发行管理服务器”来复制组件,您可能会遇到下列问题:
    • 您的发行版可能在部署步骤失败,并且您将收到以下错误消息:
      无法加载文件或程序集 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 中出现异常:0x80131040)
    • 部署代理计算机上的事件查看器日志中记录了以下错误:
      Timestamp: <DateTime>Message: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040): \r\n\r\n at Microsoft.TeamFoundation.Release.Data.Proxy.RestProxy.BaseDeploymentControllerServiceProxy.GetPackageFileInfos(String packageLocation)
      at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.HttpPackageDownloader.CopyPackageAndUnpackIt(String packageSourceLocation, String filesDestinationLocation)
      at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.ComponentProcessor.CopyComponentFilesImplementation(Action`2 copyFolder, Func`2 packageFileInfo, Func`4 downloadFile, Action`1 downloadCompleted)
      at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.ComponentProcessor.CopyComponentFiles()
      at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.ComponentProcessor.DeployComponent()Category: General
      Priority: -1
      EventId: 0
      Severity: Error
      Title:
      Machine: NVM30682
      Application Domain: DeploymentAgent.exe
      Process Id: 4668
      Process Name: C:\Program Files\Microsoft Visual Studio 12.0\Release Management\bin\DeploymentAgent.exe
      Win32 Thread Id: 4876
      Thread Name:
      Extended Properties:


    若要解决这些问题,请使用下列方法之一:
    • 方法 1:

      将 Newtonsoft.Json.dll 从任何 Visual Studio 2015 RC 部署代理复制到 Visual Studio 2013 升级的代理并重新启动 Microsoft Deployment Agent 服务。

      Visual Studio 2015 RC 部署代理上的源路径:"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Release Management\bin\Newtonsoft.Json.dll" 或 "%ProgramFiles%\Microsoft Visual Studio 14.0\Release Management\bin\Newtonsoft.Json.dll"(取决于部署代理的安装位置)。

      Visual Studio 2013 RC 部署代理上的目标路径:"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Release Management\bin\Newtonsoft.Json.dll" 或 "%ProgramFiles%\Microsoft Visual Studio 14.0\Release Management\bin\Newtonsoft.Json.dll"(取决于部署代理的安装位置)。
    • 方法 2:
      1. 卸载现有的 Visual Studio 2013 RC 部署代理。
      2. 安装 Visual Studio 2015 RC 部署代理。
安装之后
  • 成功安装 Visual Studio 后,您可能会在尝试启动时收到以下消息:
    安装操作失败。请重新安装或修复 Visual Studio
    若要解决此问题,请查找以下注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\Setup\VS\[enterprise | professional | community]
    如果 InstallResult 的值为 3010,请将其更改为 0。否则,对产品执行所需的修复。
  • 如果您选择在安装或修复过程中修复 Visual Studio Test Professional 安装,您将在对话框中收到以下错误消息:
    VSTestConfig.exe 已停止运行
    您可以安全地忽略此错误消息,因为它不会影响修复操作。单击“关闭程序”继续修复操作。如果您在 Microsoft Test Manager 后修复中遇到任何问题,请联系客户支持。
影响从 ISO 安装的问题
  • 假设您从 ISO 文件安装 Visual Studio 2015 RC,请选择 Apache Cordova 工具。修复 Visual Studio 后,将出现一个对话框,要求您提供 JSBreadcrumbRes.msi 的来源。如果您跳过程序包,安装程序将完成并返回警告消息“Apache Cordova 工具 - 模板。系统找不到指定文件。”

    要解决此问题,请在修复过程中选择“跳过程序包”。不需要此程序包,可安全地忽略此警告。

    有关与 Visual Studio Tools for Apache Cordova 相关的更多已知问题,请参阅 Apache Cordova 工具的已知问题
  • Visual Studio Setup 文件包括 ISO 文件中没有的功能。要获取新平台功能的最新版本,并对 Visual Studio 安装实现更高程度的自定义以尽量减少安装时间,缩小安装规模,Visual Studio Setup 文件中包含了一些 ISO 文件中没有的功能。

    要解决此问题,请创建一个文件夹,其中包含脱机安装体验所需的文件:
    1. 将 Visual Studio 安装程序保存到本地计算机。
    2. 在命令提示符下,使用 /layout 开关运行 .exe 文件:例如,运行以下命令:

      vs_community.exe /layout
    3. 指定将安装程序文件下载到的文件夹。例如,您可以指定以下文件夹:

      c:\Users\YourName\Downloads\VSCommunity
    4. 下载完成后,从指定文件夹位置运行 .exe 文件。例如,在 Downloads 库中打开 VSCommunity 文件夹,然后运行 Vs_community.exe。

    注意 由于 RC 发行版中出现了一个问题,/layout 下载选项不会下载某些 Visual Studio 功能所需的所有软件。某些组件需要连接 Internet 才能进行安装。
  • 成功安装 Visual Studio 后,您可能会在尝试启动时收到以下消息:
    安装操作失败。请重新安装或修复 Visual Studio
    若要解决此问题,请查找以下注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\Setup\VS\[enterprise | professional | community]
    如果 InstallResult 的值为 3010,请将其更改为 0。否则,对产品执行所需的修复。
Windows App 开发工具
  • 要在 Visual Studio 安装程序中安装 Windows 10 统一应用程序的开发工具,请单击“自定义”、“下一步”,然后选择“Windows 统一应用程序开发工具”。Windows 10 Insider Preview 不再使用单独的安装程序。
  • Windows Emulators 需要一台运行 Windows 8.1 (x64) Professional 版或更高版本的物理计算机,以及一个支持 Client Hyper-V 和第二级地址转换 (SLAT) 的处理器。当 Visual Studio 安装在虚拟机 (VM) 中时,模拟器不会运行。
其他问题
  • 安装 Visual Studio 2015 RC 时,当您在“进度”对话框中单击“取消”和“是”之后,进度栏将继续显示一段较长的时间。

    如果您选择等待,将在下一次程序包转换时执行取消请求。但是,这可能需要很长时间。等待当前处理以正常方式结束,确保您具有可能最好的部分安装。

    如果您必须立即停止安装程序,您可以使用任务管理器找到并结束安装过程任务。

    警告 这可能会使最终安装操作进入一种不确定的状态。如果您选择在安装完成之前将其终止,我们建议您在方便时尽快重新启动安装程序,然后修复安装或卸载程序。
Visual Studio IDE
  • 如果您已在 Internet Explorer 中禁用 JavaScript,则无法登录到 Visual Studio 并与其他设备同步设置。

    要解决此问题,对 Internet Explorer 启用 JavaScript。要执行此操作,请按照下面这些步骤进行操作:
    1. 在“工具”菜单上单击“Internet 选项”,然后单击“安全”选项卡。
    2. 单击“Internet”区域。
    3. 如果您不需要自定义 Internet 安全设置,请单击“默认级别”。然后转到步骤 4。如果您必须自定义 Internet 安全设置,请执行下列步骤:
      1. 单击“自定义级别”。
      2. 在“安全设置 – Internet 区域”对话框中,在“脚本”部分对“活动脚本”单击“启用”。
    4. 单击“后退”按钮返回到前一页,然后单击“刷新”按钮运行脚本。
    有关详细信息,请参阅如何在 Web 浏览器中启用 JavaScript
  • 在 Internet Explorer 中启用增强安全后,无法登录到 Windows Server 上的 Visual Studio,因为增强安全阻止 Visual Studio 登录到在线服务所需的在线服务 URI。禁用 JavaScript 或 Cookie 的限制也会使 Visual Studio 无法正确登录。

    要解决此问题,如果您看到以下对话框,单击“添加”将所需 URL 添加到 Windows Server 排除列表中。



    然后重新启动 Visual Studio 并再次尝试登录。

    另一种解决办法是关闭 Internet Explorer 增强安全配置。
  • 引用托管 Windows Runtime Metadata (.winmd) 文件的 C++ 和 JavaScript 应用程序没有通过 .NET Native 得到优化,因为这些项目未启用 .NET Native。要启用 .NET Native,必须修改 JSProj 或 VCXProj 文件。

    若要解决此问题,请使用下列方法之一:
    • 对于 C++ 应用程序:
      1. 关闭要修改的项目。
      2. 在文本编辑器中打开 VCXProj 文件。
      3. 查找不包含 Condition 属性的 PropertyGroup 元素。
      4. 在 PropertyGroup 元素中添加 "<EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>"。
      5. 查找包含 Condition="'$(Configuration)|$(Platform)'=='Release|<arch>'"PropertyGroup 元素,其中 <arch> 为 Win32、ARM 或 x64。
      6. 在每个 PropertyGroup 元素中添加 "<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>"。
      7. 保存 VCXProj 文件。


    • 对 JavaScript 应用程序:
      1. 关闭要修改的项目。
      2. 在文本编辑器中打开该 JSProj 文件。
      3. 查找不包含 Condition 属性的 PropertyGroup 元素。
      4. 在 PropertyGroup 元素中添加 "<EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>"。
      5. 查找包含 Include="Release|<arch>"ProjectConfiguration 元素,其中 <arch> 为 ARM、x64 或 x86。
      6. 在每个 ProjectConfiguration元素中添加 "<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>"。
      7. 保存 JSProj 文件。
  • 使用 C# 和 Visual Basic 构建的 Windows 10 Insider Preview 应用程序不支持 AnyCPU 平台配置。此 Visual Studio 发行版使用 .NET Native 构建 Windows 10 应用程序。.NET Native 将 C# 和 Visual Basic 代码编译到本机代码,且与 CPU 无关。
  • 当您调试 C# 或 Visual Basic Windows 8.1 应用程序时,您将鼠标悬停在表达式上方时可能不会显示 DataTips。此外,在调试程序窗口中对表达式求值可能会失败,并返回如下所示的错误消息:

    错误 CS0012: 类型 'Windows.UI.Core.Dispatcher’ 在未引用的程序集中定义。您必须添加对以下程序集的引用: 'Windows.UI.winmd, ...

    要解决此问题,请启用旧的 C# 和 VB 表达式计算器。

  • 如果您使用针对 Visual Studio 2015 或 TFS 2015 配置的 Visual Studio 2013 代理,并且您收到以下错误消息,则不会收集静态代码覆盖率文件:

    System.DllNotFoundException: 无法加载 DLL 'VSCover 140': 找不到指定模块。(HRESULT:0x8007007E 异常)

    注意
    仅当您在远程计算机上运行测试并且尝试收集静态代码覆盖率文件时,才会发生此问题。
  • 当您在项目中引用可移动类库时,有些操作可能导致在 Visual Studio 错误列表中报错,即使构建成功也是如此。

    要解决此问题,请按照下列步骤操作:
    1. 在解决方案资源管理器中右键单击报错的项目,然后单击“卸载项目”。
    2. 在解决方案资源管理器中,再次右键单击项目,然后单击“编辑 <ProjectName>”

      注意 在此命令中,<ProjectName> 表示实际的项目名称。
    3. 在项目文件顶部不含 Condition 属性的 <PropertyGroup> 条目中,添加以下内容:

      <CheckForSystemRuntimeDependency>true</CheckForSystemRuntimeDependency>
    4. 保存并关闭文件。
    5. 在解决方案资源管理器中,右键单击项目名称,然后单击“重新加载项目”。


Web 平台和工具
  • 在 Visual Studio 2015 RC 中,当您在 ASP.NET 5 或 Cordova 项目中使用 TypeScript 时,无法配置内部版本设置。

    要解决此问题,请按照下列步骤操作:
    1. 右键单击该项目,然后单击“卸载项目”。
    2. 右键单击该项目,然后单击“编辑 <Project>”。

      注意 在此命令中,<Project> 表示实际的项目名称。
    3. 在项目的 XML 文件中,您可以按照以下准则操作,定义 TypeScript 编辑器使用的 MSBuild 设置:
    下面是在项目文件中可以配置的 MSBuild 设置示例:

    <PropertyGroup>    <TypeScriptTarget>ES5</TypeScriptTarget>    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>    <TypeScriptNoImplicitAny>false</TypeScriptNoImplicitAny>    <TypeScriptModuleKind>none</TypeScriptModuleKind>    <TypeScriptRemoveComments>false</TypeScriptRemoveComments>    <TypeScriptOutFile></TypeScriptOutFile>    <TypeScriptOutDir></TypeScriptOutDir>    <TypeScriptGeneratesDeclarations>false</TypeScriptGeneratesDeclarations>    <TypeScriptSourceMap>true</TypeScriptSourceMap>    <TypeScriptMapRoot></TypeScriptMapRoot>    <TypeScriptSourceRoot></TypeScriptSourceRoot>    <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError>  </PropertyGroup>
    请参阅 TypeScript MSBuild 设置的值

    有关与 Visual Studio Tools for Apache Cordova 相关的更多已知问题,请参阅 Apache Cordova 工具的已知问题
  • 在 Visual Studio 2015 RC 中,Project Spartan(台式机或移动设备)不会在基于 Web 的项目(如 ASP.NET)的 F5 列表中显示为调试目标。

    要解决此问题,请将 Windows 10 Insider Preview 中的默认浏览器从 Project Spartan 更改为 Internet Explorer。为此,请打开“开始”菜单,指向“设置”、“系统”,然后单击“默认应用程序”。在“Web 浏览器”下,单击“Project Spartan”,然后单击“Internet Explorer”。
  • 当您升级到 Visual Studio 2015 RC 时,Web Essentials CTP 版本未禁用。Web Essentials 的旧版本应在安装 Visual Studio 升级时禁用,但是,此机制在 Visual Studio 2015 RC 中被破坏。Visual Studio 2015 RC 中与 Web Essentials for CTP6 不兼容。我们强烈建议您卸载或升级除 Visual Studio RC 版本以外的 Web Essentials 版本。
  • Knockout IntelliSense 默认已禁用。Knockout IntelliSense 在 Visual Studio 2015 RC 中不运行,除非打开了 .jsx 文件。JSX 没有项目模板,只需添加 JavaScript 文件并将其扩展名从 .js 更改为 .jsx 即可。文件可以打开、关闭和忽略。打开 .jsx 文件将触发使 KnockOut 功能像在之前发行版中一样运行所需的代码。通过安装 Web Essentials for Visual Studio 2015 RC 可修复此问题。因此,您无需打开 JSX 文件。
ASP.NET 和 Web 开发
  • 创建 Web Forms 4.5 WAP 并打开 Web Form 页面时,您在“错误列表”窗口中收到以下错误:

    项目将运行且无任何问题。错误 CS0234 类型或命名空间名称 'global_asax' 在命名空间 'ASP' 中不存在(是否缺少程序集引用?)
    错误 CS0234 类型或命名空间名称 'Linq' 在命名空间 'System' 中不存在(是否缺少程序集引用?)
  • 假设您在 Visual Studio 2015 RC 中对 C# 和 VB 使用新的语言功能,您在 Web Form 页面或 Razor 视图中使用 C# 或 VB 时收到运行时错误。

    要解决此问题,请安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 程序包。此程序包会将基于 Roslyn 的提供程序替换为 ASP.NET 的现成 CodeDom 提供程序。
敏捷测试
  • 编码的 UI 测试 (CUIT) 对 Windows 10 Insider Preview 上的 UAP Phone 应用程序不适用。
  • Build.VNext 中的 VSTest 任务不会将测试结果上载到 TFS 服务器。相反,您可以从存储在执行计算机上的 .trx 文件中检索测试结果。
单元测试
  • 当您尝试将部署目标设置为电话设备或模拟器以对统一应用程序运行所有测试时,测试资源管理器中的“全部运行”命令不运行。

    要解决此问题,请在测试资源管理器中选择所有测试,然后在这些部署目标上运行。
  • 在 Visual Studio 2015 RC 中,不支持通过将部署目标设置为电话设备或模拟器来调试单元测试。
  • 当您从上下文菜单运行“创建单元测试”命令,然后从 IntelliTest 研究结果窗口运行“保存”命令时,将创建一个 Android 单元测试项目。

    要解决此问题,请按照下列步骤操作:
    1. 将 UnitTestProject.zip in "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Xamarin\Xamarin\[Version]\T\PT\Android" 重命名为 UnitTestProject2.zip。
    2. 以管理员身份打开 "Developer Command Prompt for Visual Studio 2015"。
    3. 运行以下命令:

      devenv /InstallVSTemplates
Visual Studio Tools for Windows 10 Insider Preview
  • Visual Studio Tools for Windows 10 Insider Preview 即将推出。要检查可用性,请参阅 https://insider.windows.com
  • 有关已知问题和安装说明,请参阅 Windows App 开发论坛
  • Express for Windows 10 不支持 Windows 8.1、Windows Phone 8.1 或 Windows Phone 8.0。尽管 Visual Studio Express 2015 for Windows 10 的此 RC 发行版支持为 Windows 8.1、Windows Phone 8.1 和 Windows Phone 8.0 创建和维护应用程序,但 Visual Studio Express 2015 for Windows 10 的最终发行版不支持。

    要解决此问题,请按照下列步骤操作:改为使用 Visual Studio Community 2015。Visual Studio Community、Visual Studio Professional 和 Visual Studio Enterprise 将继续支持 Windows 8.1、Windows Phone 8.1 和 Windows Phone 8.0 的 Windows 商店应用。
诊断工具
  • 当您第一次开始调试时,“诊断工具”窗口无法打开,且您收到以下错误消息:

    “诊断工具”意外失败

    但是,在之后的调试会话中或者在您重新启动 Visual Studio 后,“诊断工具”窗口将正常打开。

    有关工具的详细信息,请在以下 MSDN 论坛网站上搜索“Windows 10 SDK 和工具的已知问题”:

其它
  • 源代码管理可能会以中文而不是英文显示一些字符。为了修复这个问题,请在“程序和功能”中执行“Visual Studio 2015 RC 修复”。
  • 当您在 Visual Studio 2015 RC UI 中执行某些操作时会遇到“Collection 类型必须派生于 ICollection<T>”错误。

    假设您从早期的 Windows 10 Preview 版本升级至 Flight 10122 或更高版本。当您在 Visual Studio 2015 RC UI 中打开、创建项目或执行一些操作时,您会收到以下错误消息:
    Collection 类型必须派生于 ICollection<T>

    若要修复此问题,请使用以下方法:
    • 以管理员身份打开 Visual Studio Developer 命令提示符。
    • 将“devenv.exe /setup”键入命令提示符并按 Enter 键。
    • 修复 Visual Studio。

不兼容更改

云平台
  • 以前,您可以使用四个不同的数字表示 Windows 应用程序的版本:主版本、次版本、内部版本和修订版本。此版本在 AppxManifest.xml 文件中指定。Windows 10 Insider Preview 应用程序的修订编号为 x.x.x.x 版本字符串的第四部分,此部分保留供 Microsoft 使用。应用程序应始终使用“0”作为修订编号。Windows App Certification Kit (WACK) 和 Windows 商店将拒绝修订编号不为“0”的应用程序。
  • .NET Native for Visual Studio 2015 不再支持 Windows 8.1 或 Windows Phone 8.1 应用程序。此发行版和今后的发行版中仅支持 Windows 10 Insider Preview 应用程序。
代理
  • 通过使用 Agents for Visual Studio 2015,则不需要单独的测试控制器,因为代理可以通过与 TFS 2015 或 Visual Studio Online 通信来处理业务流程。在所有新的 Visual Studio 2015 和 TFS 2015 方案中,我们建议您使用 Agents for Visual Studio 2015。对于测试控制器需要的其他方案,我们建议您使用 Agents for Visual Studio 2013 Update 5。测试控制器与 TFS 2013 和 TFS 2015 产品完全兼容。

    下表汇总了我们的建议。

    通过 Build.Preview 内部版本系统或发行版管理的远程自动化测试Agents for Visual Studio 2015
    通过 MSTest 和 testsettings 文件的远程自动化测试
    负载测试
    通过实验室环境的远程自动化测试
    针对 TFS 2013 的自动化测试
    Agents for Visual Studio 2013 Update 5
Visual C++
  • 在 Visual Studio 2015 RC 中的函数中,不允许使用 __declspec(align) struct。
  • 异常对象必须可复制或可移动。以下代码在 Visual Studio 2013 中编译,但不在 Visual Studio 2015 中编译:

    struct S {public:S();private:S(const S &);}; int main(){throw S(); // error} or struct S {S();explicit S(const S &);}; int main(){throw S(); // error}
  • 按值捕获异常要求异常对象可复制。以下代码在 Visual Studio 2013 中编译,但不在 Visual Studio 2015 中编译:
    struct B {public:B();private:B(const B &);}; struct D : public B {}; int main(){try{}catch (D) // error{}}
  • 可变说明符仅适用于类数据成员的名称 (9.2),不能应用于
    声明为 conststatic 的名称,也不能应用于引用成员。例如:
         class X {       mutable const int* p; // OK       mutable int* const q; // ill-formed     };
    要解决此问题,只需移除重复的“可变”实例即可。
  • 我们此前使用 C++03 或 C++11 为不符合条件的匿名联合生成了 ctordtor,现在均已删除。
  • 对于联合中的任何匿名 struct 成员,都不会再调用此不常用的构造函数。例如:
    #include <stdio.h>struct S { ~S(){ printf("~S()");}};union U{  struct {   S s;  };  ~U(){}};int main(){   U u;  return 0;}
    在早于 Visual Studio 2015 RC 的版本中,struct 显示 ~S()。在 Visual Studio 2015 RC 之后的版本中,它不显示任何内容。此外,还收到以下警告消息:

    警告 C4588: 'U::s': 行为改变: 不再隐式调用析构函数
  • 显式非类型模板实参的类型应与非类型模板形参的类型匹配。但是,Visual Studio 2015 RC 有时无法验证这一点。例如,以下代码将不再允许使用:
    struct S2{ void f(int); void f(int, int);};struct Sink{ template <class C, void (C::*Function)(int) const> void f();};void f(){ Sink sink; sink.f<S2, &S2::f>();}
  • 联合的数据成员不再具有引用类型。
  • 当您在 Visual Studio 2015 RC 中使用 /Zc:forScope- 命令时,您收到以下警告消息:

    cl : 命令行警告 D9035: 选项 'Zc:forScope-' 已弃用,将在今后的发行版中删除
  • 如果宏直接跟在字符串后面而没有任何空格,则视为用户定义的文本后缀。例如:
    //Before compiled#define _x "there"char* func() {  return "hello"_x;}int main(){ char * p = func(); return 0;}
    编译代码时,您收到以下错误消息:

    test.cpp(52): error C3688: 文本后缀 '_x' 无效;未找到文本运算符或文本运算符模板 'operator ""_x'
    test.cpp(52): 注意: 您是否忘记在字符串文本和以下字符串文本的前缀之间留空格了?
  • 对于联合中的任何匿名 struct 成员,都不会再调用此不常用的构造函数。例如:

    #include <stdio.h>struct S { S(){ printf("S()");}};union U{  struct {   S s;  };  U(){}};int main(){   U u;  return 0;}
    在早于 Visual Studio 2015 RC 的版本中,struct 显示 S()。在 Visual Studio 2015 RC 中,它不显示任何内容。此外,还收到以下警告消息:

    警告 C4587: 'U::s':行为更改:不再隐式调用构造函数。
  • 在 Visual Studio 2015 RC 中,如果存在用户定义的移动构造函数或移动分配运算符,隐式声明的复制构造函数将删除。
  • 现在,连接附近范围或原始字符串文本需要插入空格 (L"Hello" L"World"),因为现在会将第二个字符串的前缀视为用户定义的文本后缀。例如:
    • const wchar_t *s = L"Hello"L"World"; // 发出错误 C3688: 文本后缀 'L' 无效;未找到文本运算符或文本运算符模板 'operator ""L'
    • const wchar_t *t = L”Hello” L”World”; // 编译未出现错误

更多信息

如何下载 Microsoft 支持文件

Visual Studio 系列中其他产品的更新可在 Microsoft Visual Studio 下载网站上找到。

要求

有关详细的系统要求,请参阅 Visual Studio 2015 兼容性

重新启动要求

安装此程序包后,可能必须重新启动计算机。

支持的体系结构

  • 32 位 (x86)
  • 64 位 (x64) (WOW)
  • ARM

第三方应用程序


  • Visual Studio 2015 RC 允许您安装第三方应用程序。有关从 Visual Studio 2015 RC 安装跨平台移动开发工具时需要哪些第三方应用程序的信息,请参阅知识库文章 3060693
  • 卸载 Visual Studio 2015 RC 时不会卸载第三方应用程序。有关如何卸载随 Visual Studio 2015 RC 一起安装的第三方应用程序的信息,请参阅知识库文章 3060695
第三方信息声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款
属性

文章 ID:3025133 - 上次审阅时间:06/15/2015 13:59:00 - 修订版本: 3.0

  • kbsurveynew kbexpertiseadvanced atdownload KB3025133
反馈