Share via


如何:从以前的版本升级自定义测试条件

本主题适用于 Visual Studio 高级专业版和 Visual Studio 旗舰版,但不适用于 Visual Studio 2010 专业版或 Visual Studio 学习版。

为使在 Visual Studio 较早版本中创建的现有测试单元条件正常工作,必须将其升级。 为此,需要执行下列步骤:

  • 更新引用

  • 添加扩展兼容性特性

  • 应用新的注册过程

更新引用

更新项目引用

  1. (仅限 Visual Basic)在**“解决方案资源管理器”中,单击“显示所有文件”**。

  2. 在**“解决方案资源管理器”中,展开“引用”**节点。

  3. 右击上一个 Microsoft.Data.Schema.UnitTesting 引用,然后单击**“移除”**。

  4. 在**“解决方案资源管理器”中右击“引用”节点,再单击“添加引用”**。

    - 或 -

  5. 在**“项目”菜单上,单击“添加引用”**。

    此时将出现**“添加引用”**对话框。

  6. 单击**“.NET”选项卡。 在“组件名称”列表中,选择“Microsoft.Data.Schema”“Microsoft.Data.Schema.UnitTesting”,然后单击“确定”**。

    您的测试条件正在使用当前引用。

添加扩展兼容性特性

接下来,必须验证测试条件类是否具有扩展兼容性特性,如以下过程所示。 定义功能扩展时,请用特定的数据库架构提供程序 (DSP) 或基数据库架构提供程序声明该扩展的兼容性,这样只会为适当的项目类型加载扩展。 有关扩展兼容性特性的更多信息,请参见扩展 Visual Studio 的数据库功能

添加扩展兼容性特性

  • 添加数据库服务提供程序扩展兼容性特性,如下例所示:

    <DatabaseServicesProviderCompatibility (GetType(DspCompatibilityCategory.None))> _
    <DisplayName("NewTestCondition")> _
    Public Class NewTestCondition
        Inherits TestCondition
    
    End Class
    
    [DatabaseServicesProviderCompatibility(DspCompatibilityCategory.None)]
    [DisplayName("NewTestCondition")]
    public class NewTestCondition:TestCondition
    {
       // Additional implementation to be added here
    }
    

应用新的注册过程

在 Visual Studio 的以前版本中,必须将测试条件安装到全局程序集缓存中。 在 Visual Studio 高级专业版或 Visual Studio 旗舰版的此版本中,注册过程已更改,如以下过程所示。 有关更多信息,请参见如何:注册和管理功能扩展

更新的引用就绪后,请确认程序集经过了签名和编译。

下一步是收集项目中生成的程序集信息(包括版本、区域性和 PublicKeyToken),以便于注册自定义扩展程序集。

收集程序集信息

  1. 更新的引用就绪并已添加扩展兼容性特性(如以前的过程所示)后,请确认程序集经过了签名和编译。

  2. 在**“视图”菜单上,单击“其他窗口”,然后单击“命令窗口”打开“命令”**窗口。

  3. 在**“命令”**窗口中,键入以下代码。 将 FilePath 替换为已编译的 .dll 文件的路径和文件名。 在路径和文件名的两侧加双引号。

    提示

    默认情况下,已编译的 .dll 文件的路径为 SampleGenerator\bin\Debug。

    ? System.Reflection.Assembly.LoadFrom(@"<FilePath>").FullName
    
  4. 按 Enter。 此时该行应类似于以下内容,其中含有您的特定 PublicKeyToken:

    " GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    

    记下或复制此程序集信息;下一过程中将使用这些信息。

接下来,将使用上一过程中收集的程序集信息创建 XML 文件。

创建 XML 文件

  1. 在**“解决方案资源管理器”**中选择项目。

  2. 在**“项目”菜单上选择“添加新项”**。

    将显示**“添加新项”**对话框。

  3. 在**“模板”窗格中,找到并选择“XML 文件”**项。

  4. 在**“名称”文本框中,输入适用的名称,然后单击“添加”**按钮。

    此时 XML 文件将添加到**“解决方案资源管理器”**的项目中。

    提示

    必须使用 dll 的名称(这种情况下为“myDllName”后跟“.Extensions.xml”),程序集才能正确注册。

  5. 打开该 XML 文件,将其更新以匹配此过程中后面的 XML 代码。 替换上一过程中检索的程序集的版本、区域性和 PublicKeyToken。

    <?xml version="1.0" encoding="utf-8"?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions 
    
      Microsoft.Data.Schema.Extensions.xsd"> <extension type=" myDllName.myClassName" assembly="myDllName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/>
    
    </extensions>
    
  6. 在**“文件”菜单上,单击“全部保存”**。

接下来,要将程序集和 XML 文件复制到 Extensions 目录。 Visual Studio 高级专业版 启动时,将识别 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions 目录和子目录中的任何扩展,并注册这些扩展以用于会话中。

将程序集和 XML 文件复制到 Extensions 目录并将其注册

  1. 在 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\ 目录中创建一个新文件夹,名为 CustomGenerators。

  2. 将程序集文件从 My Documents\Visual Studio 2008\Projects\<项目名称>\<项目名称>\bin\Debug\ 目录复制到已创建的 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators 目录。

  3. 将 XML 文件从 My Documents\Visual Studio 2008\Projects\<项目名称>\<项目名称>\ 目录复制到已创建的 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators 目录。

    提示

    最佳做法是将扩展程序集放在 <Microsoft Visual Studio 10.0>\VSTSDB\Extensions 目录下的文件夹中。 这样将帮助您识别随产品包括了哪些扩展,以及哪些扩展是您自定义创建的。 建议使用文件夹将扩展按特定类别进行组织。

请参见

任务

如何:为数据库单元测试设计器创建测试条件

演练:使用自定义测试条件确认存储过程的结果