2

我有带有 SQL Server 单元测试的 VS 2010 项目。我需要将它们转换为 VS2012。经过多次谷歌搜索,我发现了一篇没有列出步骤的 msdn文章。项目的上下文菜单不包含与项目升级相关的任何内容。在 2012 年打开项目后,您将看不到您的测试 sql 单元测试查询。如果我在 vs 2010 中打开它,我会看到它们。在 vs 2012 中打开项目后,如果我创建新的 sql 单元测试,它会弹出框说:

在此处输入图像描述

我安装了 SSDTBI_VS21012。知道如何将带有 SQL Server 单元测试的 VS2010 项目转换为 VS2012 吗?

4

1 回答 1

0

我在产品团队工作,感谢您提出这个问题。经过快速调查,这看起来像是在 Visual Studio 中的 SQL Server 数据库工具7 月版本中引入的回归。您能否在 https://connect.microsoft.com/SQLServer/feedback/CreateFeedback.aspx上为此问题提交一个连接错误, 并使用“开发人员工具(SSDT、BIDS 等)”类别。我们会将其视为高优先级,这是确保它被跟踪并且您可以看到它何时修复的最佳方式。

不幸的是,在 7 月/11 月版本中没有解决方法,因为添加了过度检查以避免在所有单元测试项目中显示此选项,并且我们没有可覆盖的命令。但是,要解锁自己,您应该能够做以下两件事之一:

解决方法 #1卸载数据库工具组件并安装早期版本。就是这样:

  • 转到添加/删除程序
  • 卸载“Microsoft SQL Server Data Tools 2012”,它是整体安装程序(如果存在)
  • 卸载“Microsoft SQL Server Data Tools - enu”(如果您安装了英文版)。
  • 如果您使用的是 7 月/11 月版本,则不必卸载“Microsoft SQL Server Data Tools Build Utilities - enu”,因为它不再相关。但是,如果您遇到麻烦,也请考虑卸载它。
  • 改为安装适用于 VS2012 的 SQL Server 工具的 4 月版本。执行此操作的 SSDTSetup.exe 文件位于http://download.microsoft.com/download/0/D/F/0DF6C816-A7D5-4C17-8B10-2061FC97D37E/EN/SSDTSetup.exe。请注意,如果您使用的不是英语,请将 URL 的“/EN/”部分更改为其他语言,例如 DEU,它应该允许您下载该语言版本。

解决方法 #2迁移到新的单元测试项目您也可以创建一个新的 SQL 单元测试项目并将您的测试迁移到:

  • 根据您的 SQL 项目中的过程创建一个单元测试项目,或者创建一个新的单元测试项目并转到“添加 -> 新项目 -> SQL Server -> SQL Server 单元测试”)。

  • 当它打开 SQL Server 测试配置对话框时,请确保为参考项目和连接字符串输入有效值 - 这些应该与您之前的项目匹配

  • 从旧项目复制单元测试文件。如果您构建,它将由于缺少参考而失败。我们接下来会解决这个问题。

  • 卸载项目(右键单击,卸载项目)并在顶部附近添加以下代码段:

    <PropertyGroup>
      <IncludeSsdtUnitTestAdapter>True</IncludeSsdtUnitTestAdapter>
    </PropertyGroup>
    
  • 重新加载项目,然后构建。这现在应该通过,因为迁移中使用的适配器 DLL 将包含在引用中。

  • 最后,运行测试,它应该可以工作。

于 2014-11-24T20:51:44.633 回答