Практическое руководство. Обновление пользовательского условия теста из предыдущего выпуска
Этот раздел применим к Visual Studio Premiumи Visual Studio Ultimate, но не применим к версиям Visual Studio 2010 Professional или Visual Studio Express.
Для обеспечения корректной работы существующего условия модульного теста, созданного в более ранней версии Visual Studio, его необходимо обновить. Для этого необходимо выполнить следующие действия:
Обновление ссылок
Добавление атрибута совместимости расширений
Применение нового процесса регистрации
Обновление ссылок
Обновление ссылок проекта
(Только для Visual Basic.) В обозревателе решений выберите команду Показать все файлы.
В обозревателе решений разверните узел Ссылки.
Щелкните правой кнопкой мыши ссылку Microsoft.Data.Schema.UnitTesting и выберите команду Удалить.
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки и выберите команду Добавить ссылку.
– или –
В меню Проект щелкните команду Добавить ссылку.
Откроется диалоговое окно Добавление ссылки.
Перейдите на вкладку .NET. В списке Имя компонента выберите Microsoft.Data.Schema и Microsoft.Data.Schema.UnitTesting, а затем нажмите кнопку ОК.
Теперь условие теста использует текущую ссылку.
Добавление атрибута совместимости расширений
Далее необходимо проверить, имеют ли классы условия теста атрибут совместимости расширений, как показано в приведенной ниже процедуре. При определении расширений функций необходимо объявить совместимость этого расширения либо с конкретным поставщиком схемы базы данных, либо с поставщиком схемы основной базы данных, чтобы расширение загружалось только с соответствующими ему типами проектов. Дополнительные сведения об атрибуте совместимости расширений см. в разделе Расширение функций баз данных в 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 Premiumили Visual Studio Ultimate процесс регистрации изменен, как показано в следующих процедурах. Дополнительные сведения см. в разделе Практическое руководство. Регистрация и управление расширениями функций.
После обновления ссылок на месте необходимо проверить, что сборка подписана и скомпилирована.
На следующем этапе необходимо собрать сведения о сборке, содержащиеся в проекте (например, номер версии, язык и региональные параметры, а также PublicKeyToken), для регистрации пользовательской сборки расширения.
Сбор сведений о сборке
После обновления ссылок и добавления атрибута совместимости расширений (как описано в приведенных выше процедурах) необходимо проверить, что сборка подписана и скомпилирована.
В меню Вид выберите пункт Другие окна, а затем Окно команд, чтобы открыть командное окно.
В окне Команда введите следующий код. Вместо FilePath подставьте путь и имя откомпилированного DLL-файла. Заключите путь и имя файла в кавычки.
Примечание
По умолчанию используется следующий путь к скомпилированному DLL-файлу: SampleGenerator\bin\Debug.
? System.Reflection.Assembly.LoadFrom(@"<FilePath>").FullName
Нажмите клавишу ВВОД. Строка должна иметь следующий вид (с учетом конкретного значения PublicKeyToken):
" GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
Добавьте примечания к сведениям о сборке или скопируйте их; они будут использоваться в следующей процедуре.
После этого создается XML-файл с использованием сведений о сборке, собранных в предыдущей процедуре.
Создание XML-файла
Выберите проект в обозревателе решений.
В меню Проект выберите команду Добавить новый элемент.
Откроется диалоговое окно Добавление нового элемента.
В панели Шаблоны найдите и выберите пункт XML-файл.
В поле Имя введите имя приложения и нажмите кнопку Добавить.
XML-файл добавляется в проект в обозревателе решений.
Примечание
Чтобы правильно зарегистрировать сборку, необходимо использовать имя библиотеки DLL (в данном случае — "myDllName" с расширением ".Extensions.xml").
Откройте 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>
В меню Файл выберите команду Сохранить все.
На следующем этапе необходимо скопировать сборку и XML-файл в каталог Extensions. При запуске Visual Studio Premium будет идентифицировать все расширения в каталоге <Microsoft Visual Studio 10.0>\VSTSDB\Extensions и вложенных каталогах, чтобы зарегистрировать их для использования в сеансе.
Копирование и регистрация сборки и XML-файла в каталоге Extensions
В каталоге <Microsoft Visual Studio 10.0>\VSTSDB\Extensions\ создайте папку с именем CustomGenerators.
Скопируйте файл сборки из каталога Мои документы\Visual Studio 2008\Projects\<название проекта>\<название проекта>\bin\Debug\ в созданный каталог<Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators.
Скопируйте XML-файл из каталога Мои документы\Visual Studio 2008\Projects\<название проекта>\<название проекта> в созданный каталог<Microsoft Visual Studio 10.0>\VSTSDB\Extensions\CustomGenerators.
Совет
Рекомендуется размещать сборки расширений во вложенной папке каталога <Microsoft Visual Studio 10.0>\VSTSDB\Extensions.Это облегчит определение того, какие расширения изначально входили в продукт, а какие были созданы пользователем.Кроме того, с помощью папок можно группировать расширения по категориям.
См. также
Задачи
Практическое руководство. Создание условий теста для конструктора модульных тестов базы данных