Командная разработка с использованием Visual Studio Team Foundation Server

Практикум

Показывать лекцию целиком

Как добавить нового разработчика в проект Visual Studio 2005 Team Foundation Server

Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System.
  • Microsoft SQL Server™ Reporting Services.
  • Описание

    В этой статье подробно разбирается процесс введения нового разработчика в командный проект Team Foundation Server.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - предоставление доступа к командному проекту.
  • Шаг 2 - предоставление доступа к сайту проекта.
  • Шаг 3 - предоставление доступа к службам SQL Server Reporting Services.
  • Дополнительные ресурсы.
  • Задачи

  • Предоставить разработчику доступ к командному проекту. Предоставить разработчику разрешения Read и Contributor на сайте SharePoint.
  • Предоставить разработчику возможность просматривать и подписываться на отчеты.
  • Обзор

    Вводя в проект нового разработчика, необходимо предоставить ему соответствующие права доступа к проекту и сайту SharePoint проекта. Учетная запись нового разработчика должна также иметь права доступа к SQL Server Reporting Services, чтобы разработчик мог просматривать отчеты, представленные на портале проекта.

    Порядок операций

  • Шаг 1 - предоставление доступа к командному проекту.
  • Шаг 2 - предоставление доступа к сайту проекта.
  • Шаг 3 - предоставление доступа к службам SQL Reporting Server Services.
  • Шаг 1 - предоставление доступа к командному проекту

    На этом шаге новому члену команды предоставляется доступ к Team Foundation Server. Чтобы открыть ему доступ к командному проекту, выполните следующие действия:

  • Зарегистрируйтесь в Visual Studio под учетной записью, входящей в группу Team Foundation Administrators.
  • Добавьте необходимый проект в Team Explorer (если его там еще нет).
  • В Team Explorer щелкните правой кнопкой мыши командный проект, выберите Team Project Settings и щелкните Group Membership.
  • Выберите Project\Contributors, щелкните Properties и добавьте учетную запись нового разработчика в эту группу.
  • Обратите внимание, что членство в группе Contributors обеспечивает типовой набор разрешений, необходимых разработчику, включая возможность добавлять, изменять, удалять элементы командного проекта и выполнять сборки.

    Шаг 2 - предоставление доступа к сайту проекта

    На этом шаге новый член группы получает доступ к сайту проекта SharePoint. Выполните следующие действия:

  • Войдите на сайт проекта под учетной записью, входящей в группу SharePoint Administrator.

    Помните, что сайт проекта YourProject по умолчанию располагается по адресу http://server/sites/YourProject/default.aspx.

  • Щелкните Site Settings.
  • Щелкните Manage Users под надписью Administration.
  • Щелкните Add Users.
  • Введите регистрационное имя учетной записи нового разработчика в формате домен\учетнаязаписьпользователя, выберите Contributor и щелкните Next.
  • Введите адрес электронной почты разработчика в поле адреса и, если хотите, приветственное сообщение для разработчика на сайте.
  • Щелкните Finish.
  • Членство в группе Contributors обеспечивает разработчику возможность просматривать и добавлять содержимое в существующие библиотеки документов и списки. Членство в группе Reader обеспечивает доступ к сайту только для чтения. Иногда этого вполне достаточно, все зависит от потребностей нового разработчика.

    Шаг 3 - предоставление доступа к службам SQL Server Report Services

    На этом шаге новому члену команды предоставляется доступ к SQL Report Services. Выполните следующие действия:

  • Зарегистрируйтесь на административном веб-сайте .
  • Щелкните имя своего командного проекта.
  • Перейдите на вкладку Properties.
  • Перейдите на вкладку Security.
  • Щелкните New Role Assignment.
  • Введите Windows -имя разработчика, выберите Browser и щелкните OK. Членство в группе Browser позволяет разработчику просматривать и подписываться на отчеты.
  • Дополнительные ресурсы

  • Назначение прав доступа в .
  • Подробную информацию о ролях системы безопасности уровня приложений вы найдете в статье "Securing Reporting Services" по адресу http:// msdn2.microsoft.com/en-us/library/ms157198.aspx.
  • Справочник администратора .
  • Дополнительную информацию об управлении правами доступа в .
  • Как автоматически выполнять анализ кода при помощи Team Build

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System.
  • Описание

    В этой статье подробно разбирается процесс настройки сценария сборки и включения в него этапа анализа кода. Это обеспечит автоматическое выполнение анализа кода в составе сценария сборки проекта и включение отчета о результатах анализа в результаты сборки.

    Содержание

  • Задача.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - тестирование сборки.
  • Шаг 2 - включение анализа кода в сборку.
  • Шаг 3 - тестирование анализа кода.
  • Дополнительные ресурсы.
  • Задача

  • Выполнить анализ кода в составе сборки с целью контроля ее качества.
  • Обзор

    Visual Studio Team System Team Build позволяет определять для проекта типы сборки, благодаря которым сервер способен компилировать приложение и предоставлять его для доступа на общем сетевом ресурсе. Если в сценарий сборки включен анализ кода, он будет автоматически выполняться при каждой сборке, а отчет о его результатах будет выкладываться на странице отчетов о результатах сборки. В этой статье подробно разбирается процесс настройки сценария сборки и включения в него этапа анализа кода.

    Порядок операций

  • Шаг 1 - тестирование сборки.
  • Шаг 2 - включение анализа кода в сборку.
  • Шаг 3 - тестирование анализа кода.
  • Прежде всего

    Прежде чем включить анализ кода в сценарий сборки, необходимо убедиться в следующем:

  • Ваш пользовательский идентификатор Team Foundation обладает разрешением на администрирование сборки. Уточните у администратора, обладаете ли вы таким разрешением.
  • Сценарий сборки для вашего проекта уже существует. Проверить это можно, посмотрев на содержимое узла Team Build в Visual Studio Team Explorer.
  • Шаг 1 - тестирование сборки

    Перед включением анализа кода протестируйте сценарий сборки, чтобы убедиться в отсутствии проблем. Это делается следующим образом:

  • В Visual Studio откройте Team Explorer.
  • Разверните узел своего командного проекта.
  • Разверните узел Team Builds.
  • Щелкните правой кнопкой мыши существующий сценарий сборки и выберите Build Team Project.
  • Убедитесь в успешном выполнении сборки. Если сборка выполнена со сбоем или вовсе не завершена, исправьте ошибки, прежде чем переходить к следующему этапу.
  • Шаг 2 - включение анализа кода в сборку

    Убедившись, что сборка выполняется правильно, можно включить в нее анализ кода. Выполните следующие действия:

  • Откройте Source Control Explorer.
  • Разверните папку своего командного проекта.
  • Разверните папку TeamBuildTypes.
  • Выберите папку типа сборки, в который хотите включить анализ кода.
  • Извлеките версию файла TFSBuild.proj из системы управления исходным кодом для редактирования. Возможно, сначала вам понадобиться выполнить операцию Get Latest Version.
  • Откройте файл TFSBuild.Proj, дважды щелкнув его в Source Control Explorer.
  • Если требуется выполнять анализ кода для всех проектов независимо от их настроек, присвойте тегу <RunCodeAnalysis> значение Always.
  • Если вы хотите выполнять анализ кода в зависимости от настроек проекта, присвойте тегу <RunCodeAnalysis> значение Default.
  • При использовании индивидуальных настроек для каждого проекта анализ кода для проекта включается следующим образом:
  • Откройте решение в Visual Studio.
  • В Solution Explorer щелкните проект правой кнопкой мыши.
  • Выберите команду Properties.
  • Щелкните Code Analysis.
  • Установите флажок Enable Code Analysis.
  • Извлеките файл проекта .csproj из системы управления исходным кодом для редактирования.
  • Сохраните файл, щелкнув значок Save на панели инструментов при открытом окне свойств.
  • Верните файл .csproj в систему управления исходным кодом.
  • Сохраните TFSBuild.proj и верните его в систему управления исходным кодом.
  • Шаг 3 - тестирование анализа кода

    Включив анализ кода в сценарий сборки, протестируйте его, чтобы убедиться, что все работает нормально. Выполните следующие действия:

  • В Team Explorer щелкните правой кнопкой мыши тип сборки и выберите команду Build Team Project.
  • По завершении сборки щелкните ссылку на ее журнал.
  • Просмотрите предупреждения анализа кода, приведенные в конце журнала сборки. Их идентификаторы начинаются с "CA" , как в следующих примерах:
  • MSBUILD : warning : CA2209 : Microsoft.Usage : No valid permission requests were found for assembly 'HelloWorldTest'. Yo u should always specify the minimum security permissions using SecurityAction. RequestMinimum.
  • MSBUILD : warning : CA2210 : Microsoft.Design : Sign 'HelloWorldTest' with a strong name key.
  • MSBUILD : warning : CA1014 : Microsoft.Design : 'HelloWorldTest' should be marked with CLSCompliantAttribute and its value should be true.
  • Дополнительные ресурсы

  • Дополнительную информацию об инструментах анализа кода вы найдете в статье "Guidelines for Using Code Analysis Tools" по адресу http://msdn2. microsoft.com/en-us/library/ms182023(VS.80).aspx.
  • Типы сборки подробно рассматриваются в статье "Overview of Team Foundation Build" по адресу http://msdn2.microsoft.com/en-us/library/ ms181710(VS.80).aspx.
  • Как создать собственный отчет в Visual Studio 2005 Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System.
  • Microsoft SQL Server™ Reporting Services.
  • Описание

    В статье подробно разбирается процесс создания нового отчета с последующей публикацией на портале отчетов команды.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - создание источников данных.
  • Шаг 3 - создание нового отчета в проекте.
  • Шаг 4 - изменение отчета.
  • Шаг 5 - развертывание отчета на Team Foundation Server.
  • Шаг 6 - тестирование отчета.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать проект отчетов в Visual Studio.
  • Научиться создавать новый отчет в проекте отчетов.
  • Научиться публиковать новый отчет на сервере отчетов.
  • Обзор

    Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные. Создание собственного отчета в Visual Studio начинается с создания проекта отчетов. Затем создаются источники данных для подключения к реляционной базе данных TFS и базе данных Online Analytical Processing (OLAP) .

    Порядок операций

  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - создание источников данных.
  • Шаг 3 - создание нового отчета в проекте.
  • Шаг 4 - изменение отчета.
  • Шаг 5 - развертывание отчета на Team Foundation Server.
  • Шаг 6 - тестирование отчета.
  • Прежде всего

    Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:

  • На компьютере, который будет использоваться для настройки отчета, должна быть установлена среда Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.
  • Ваша учетная запись должна быть членом роли безопасности Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.
  • Ваша учетная запись должна обладать правами администратора БД TFSWarehouse уровня данных.
  • Ваша учетная запись должна быть членом роли Publisher в SQL Server Reporting Services на сервере уровня приложений.
  • Шаг 1 - создание нового проекта отчетов

    Чтобы добавить в проект новый отчет и настроить его, начните с создания проекта отчетов. Выполните следующие действия:

  • В Visual Studio откройте меню File, выберите команду New и щелкните Project.
  • Выберите тип Business Intelligence Project.
  • Выберите шаблон Report Server Project.
  • Задайте имя и расположение проекта. Затем щелкните OK.
  • Шаг 2 - создание источников данных

    Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio, отчет может закачивать данные с сервера.

    Создание источника данных хранилища

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsReportDS в текстовое поле Name.
  • В списке Type выберите Microsoft SQL Server.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Создание источника данных OLAP

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsOlapReportDS в поле Name.
  • В списке Type выберите Microsoft SQL Server Analysis Services.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Шаг 3 - создание нового отчета в проекте

    Когда в проект добавлены источники данных, можно создавать новый отчет. Выполните следующие действия:

  • В Solution Explorer щелкните правой кнопкой Reports и выберите Add и New Item.
  • Выберите шаблон Report.
  • Задайте имя отчета и щелкните OK.
  • Шаг 4 - изменение отчета

    Добавив отчет в проект, отредактируйте его:

  • Если Report Designer не открывается автоматически, откройте отчет для редактирования, щелкнув его дважды в Solution Explorer.
  • Выберите в раскрывающемся списке Dataset вариант New Dataset.
  • Присвойте набору данных имя, например TestDataSet.
  • Выберите TFSOlapReportDS (shared) .
  • Щелкните OK.
  • Щелкните многоточие рядом с кнопкой Build (под раскрывающимся списком Dataset ) и выберите Team System.
  • Теперь можно редактировать отчет, перетаскивая меры и измерения из дерева Dataset на панели Query Pane и Filter Pane. Компоновка отчета меняется на вкладке Layout. Увидеть, как будет выглядеть отчет, можно на вкладке Preview.

    Шаг 5 - развертывание отчета на Team Foundation Server

    После редактирования отчета его можно развернуть на портале отчетов командного проекта:

  • В Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.
  • Убедитесь, что атрибуту OverwriteDataSources присвоено значение false.
  • Измените значение TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProject
  • Измените значение TargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProject
  • Присвойте параметру TargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserver
  • Щелкните OK.
  • В Solution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.
  • Посмотрите на Output Pane, чтобы убедиться в успешности операции.
  • Шаг 6 - тестирование отчета

    Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:

  • В Team Explorer разверните узел своего командного проекта, щелкните правой кнопкой Reports и выберите команду Show Report Site.
  • На сайте отчетов выберите созданный отчет.
  • Убедитесь, что он выглядит так, как ожидалось.
  • Дополнительные ресурсы

  • Дополнительную информацию по работе с проектами отчетов вы найдете в статье "Reporting Services Tutorials" по адресу http://msdn2.microsoft. com/en-us/library/ms170246.aspx.
  • О редактировании отчетов читайте в статье "How to: Edit Reports in Report Designer" по адресу http://msdn2.microsoft.com/en-us/library/ ms244655(VS.80).aspx.
  • О ролях системы безопасности уровня данных читайте в статье "Securing Access Through Analysis Services" по адресу http://msdn2.microsoft.com/ en-us/library/ms174839.aspx.
  • О ролях системы безопасности уровня приложений читайте в статье "Securing Reporting Services" по адресу http://msdn2.microsoft.com/en-us/ library/ms157198.aspx.
  • Как создать отчет о развитии рисков в Visual Studio 2005 Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Microsoft SQL Server™ Reporting Services.
  • Описание

    В этой статье подробно разбирается процесс создания нового отчета, представляющего динамику развития рисков, и его публикации на портале отчетов группы в TFS.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - создание источников данных.
  • Шаг 3 - создание нового отчета в проекте.
  • Шаг 4 - изменение отчета.
  • Шаг 5 - развертывание отчета на Team Foundation Server.
  • Шаг 6 - тестирование отчета.
  • Дополнительные ресурсы.
  • Задачи

  • Создать проект отчетов в Visual Studio.
  • Создать новый отчет о динамике рисков в проекте отчетов.
  • Опубликовать отчет на сервере отчетов.
  • Обзор

    Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные. Создание собственного отчета в Visual Studio начинается с создания проекта отчетов. Затем создаются источники данных для подключения к реляционной базе данных TFS и базе данных Online Analytical Processing (OLAP) . В этой статье рассказано, как создать с нуля простой отчет о динамике рисков ( Risk over Time ), который показывает количество рабочих элементов Risk за данный период времени.

    Порядок операций

  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - создание источников данных.
  • Шаг 3 - создание нового отчета в проекте.
  • Шаг 4 - изменение отчета.
  • Шаг 5 - развертывание отчета на Team Foundation Server.
  • Шаг 6 - тестирование отчета.
  • Прежде всего

    Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:

  • На компьютере, который будет использоваться для настройки отчета, должна быть установлена среда Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.
  • Ваша учетная запись должна быть членом роли безопасности Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.
  • Ваша учетная запись должна обладать правами администратора БД TFSWarehouse уровня данных.
  • Ваша учетная запись должна быть членом роли Publisher в SQL Server Reporting Services на сервере уровня приложений.
  • Проект должен содержать рабочие элементы Risk, иначе в отчете нечего будет показывать.
  • Шаг 1 - создание нового проекта отчетов

    На данном начальном этапе создается новый проект создания отчетов, благодаря которому вы получаете возможность добавлять новый отчет в проект и затем настраивать его. Чтобы создать новый проект создания отчетов в Visual Studio:

  • В меню File выберите New и затем щелкните Project.
  • Выберите тип Business Intelligence Project.
  • Выберите шаблон Report Server Project.
  • Задайте Name и Location для проекта и щелкните OK.
  • Шаг 2 - создание источников данных

    Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio, отчет может закачивать данные с сервера.

    Создание источника данных хранилища

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsReportDS в текстовое поле Name.
  • В списке Type выберите Microsoft SQL Server.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Создание источника данных OLAP

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsOlapReportDS в поле Name.
  • В списке Type выберите Microsoft SQL Server Analysis Services.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Шаг 3 - создание нового отчета в проекте

    Когда в проект добавлены источники данных, можно создавать новый отчет. Выполните следующие действия:

  • В Solution Explorer щелкните правой кнопкой Reports и выберите Add и New Item.
  • Выберите шаблон Report.
  • Задайте имя отчета и щелкните OK.
  • Шаг 4 - изменение отчета

    Когда отчет добавлен в проект, его можно редактировать:

  • Если Report Designer не открывается автоматически, откройте отчет для редактирования, щелкнув его дважды в Solution Explorer.
  • Выберите в раскрывающемся списке Dataset вариант New Dataset.
  • Присвойте имя набору данных, например, TestDataSet.
  • Выберите TFSOlapReportDS (shared) и щелкните OK.
  • Щелкните многоточие рядом с Build (под раскрывающимся списком Dataset ) и выберите Team System.
  • В дереве Dataset Tree разверните узел Measures.
  • В дереве Dataset Tree разверните узел Current Work Item.
  • Перетащите Current Work Item Count в главное окно запроса.
  • В дереве Dataset Tree сверните узел Measures.
  • Перейдите к узлу Team Project и перетащите его в панель Dimensions Grid.
  • В панели Dimensions Grid щелкните ячейку Filter Expression и выберите имя вашего командного проекта. После этого в отчет будут включаться только данные, касающиеся этого проекта.
  • Разверните измерение Work Item в дереве Dataset Tree.
  • Перетащите WorkItem.WorkItemType из дерева Dataset Tree в панель Dimensions Grid. Если вместо WorkItem.WorkItemType отображается System_WorkItemType, это означает, что отчет все равно сработает, но вам необходимо установить SQL Server Service Pack 2.
  • Перетащите WorkItem.WorkItemType из дерева Dataset Tree в главное окно запроса и разместите перед столбцом work item count. Если вместо WorkItem.WorkItemType отображается System_WorkItemType, это означает, что отчет все равно сработает, но вам необходимо установить SQL Server Service Pack 2.
  • В Dimensions Grid щелкните ячейку Filter Expression и выберите тип Risk. Это обеспечит включение в отчет только рабочих элементов Risk.
  • В Dataset Tree разверните измерение Date.
  • Перетащите значение измерения Date в главное окно запроса. Разместите его перед столбом work item type.
  • Перейдите на вкладку Layout.
  • Откройте окно Toolbox.
  • Перетащите элемент Chart из Toolbox на сетку.
  • Настройте размеры диаграммы.
  • Щелкните диаграмму правой кнопкой и выберите Chart Type, Line и Smooth Line.
  • Откройте панель Datasets Pane.
  • Разверните свой набор данных, например, TestDataSet.
  • Выделите мышью диаграмму. В ней появятся области для перетаскивания Data, Series и Category.
  • Перетащите Current_Work_Item_Count в поле Drop Data Fields Here.
  • Перетащите Work_Item_Type в поле Drop Series Fields Here.
  • Перетащите Date в поле Drop Category Fields Here.
  • Щелкните график правой кнопкой мыши и выберите Properties.
  • Введите название графика и щелкните OK.
  • Перейдите на вкладку Preview, чтобы посмотреть, как будет выглядеть отчет.
  • Шаг 5 - развертывание отчета на Team Foundation Server

    После редактирования отчета Risk over Time его можно развернуть на портале отчетов командного проекта:

  • В Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.
  • Убедитесь, что атрибуту OverwriteDataSources присвоено значение false.
  • Измените значение TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProject
  • Измените значение TargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProject
  • Присвойте параметру TargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserver
  • Щелкните OK.
  • В Solution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.
  • Посмотрите на Output Pane, чтобы убедиться в успешности операции.
  • Шаг 6 - тестирование отчета

    Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:

  • В Team Explorer разверните узел своего командного проекта, щелкните правой кнопкой Reports и выберите команду Show Report Site.
  • На сайте отчетов выберите созданный отчет.
  • Убедитесь, что он выглядит так, как ожидалось.
  • Дополнительные ресурсы

  • Дополнительную информацию по работе с проектами отчетов вы найдете в статье "Reporting Services Tutorials" по адресу http://msdn2.microsoft. com/en-us/library/ms170246.aspx.
  • О редактировании отчетов читайте в статье "How to: Edit Reports in Report Designer" по адресу http://msdn2.microsoft.com/en-us/library/ms 244655(VS.80).aspx.
  • О ролях системы безопасности уровня данных читайте в статье "Securing Access Through Analysis Services" по адресу http://msdn2.microsoft.com/ en-us/library/ms174839.aspx.
  • О ролях системы безопасности уровня приложений читайте в статье "Securing Reporting Services" по адресу http://msdn2.microsoft.com/en-us/ library/ms157198.aspx.
  • Как создать пользовательскую политику возврата после правки в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System.
  • Описание

    В этой статье подробно разбирается процесс создания, регистрации и применения пользовательских политик возврата правок в TFS. Политика обеспечивает выполнение определенных правил при каждом возврате изменений в систему управления исходным кодом. Благодаря этому исходный код гарантированно будет соответствовать заданному набору критериев. В качестве примера в этой статье используется политика, обеспечивающая ввод комментариев ко всем возвратам изменений. Для реализации пользовательской политики возврата изменений создается класс, производный от РoliсуВa8е, и реализуются интерфейсы 1РoliсуВеАnition и 1РoliсуЕ valuation. Сборка политики регистрируется в реестре Microsoft Windows® и применяется к командному проекту.

    Содержание

  • Задачи.
  • Обзор.
  • Прежде всего.
  • Порядок операций.
  • Шаг 1 - создание и сборка класса пользовательской политики.
  • Шаг 2 - регистрация класса пользовательской политики в реестре Windows.
  • Шаг 3 - применение пользовательской политики.
  • Шаг 4 - проверка работоспособности пользовательской политики.
  • Дополнительные ресурсы.
  • Задачи

  • Разобраться с тем, что такое пользовательская политика возврата изменений.
  • Научиться создавать, регистрировать и применять специальные политики возврата изменений.
  • Обзор

    Политики возврата после правки ( check-in policies ) обеспечивают реализацию ограничений при возврате файлов в систему управления исходным кодом. В Team Foundation Server включено несколько стандартных политик, в том числе, политики для проверки выполнения и успешного прохождения модульных тестов, политики для выполнения статического анализа кода, гарантирующие соответствие кода стандартам и рекомендациям написания .NET -кода, и политики, обеспечивающие связывание рабочих элементов с возвратами правок. Еще несколько политик возврата после правки включено в комплект Microsoft Visual Studio 2005 Team Foundation Power Tool. В этой статье рассказывается, как создавать, регистрировать и применять нестандартную политику. В качестве примера приводится политика, вынуждающая разработчиков сопровождать возвращаемые изменения комментариями.

    Прежде всего

    Чтобы вы могли создавать политику возврата после правки, разрешение Manipulate у вас должно иметь значение Allow.

    Порядок операций

  • Шаг 1 - создание и сборка класса пользовательской политики.
  • Шаг 2 - регистрация класса пользовательской политики в реестре Windows.
  • Шаг 3 - применение пользовательской политики.
  • Шаг 4 - проверка работоспособности пользовательской политики.
  • Шаг 1 - создание и сборка класса пользовательской политики

    На начальном этапе в пространстве имен Microsoft.TeamFoundation.Version-Control.Client путем наследования от базового класса PolicyBase создается класс пользовательской политики. Наследование обеспечивает реализацию создаваемым классом интерфейсов IPolicyDefinition и IPolicyEvaluation. Ниже приведен пример фрагмента кода политики, которая требует обязательного ввода комментариев при каждом возврате правок.

  • В Visual Studio создайте новый проект библиотеки классов Visual C#®.
  • Добавьте ссылку на файл сборки System.Windows.Forms.dll. Эта сборка используется для отображения информационных окон.
  • Добавьте ссылку на файл сборки Microsoft.TeamFoundation.Version Control.Client.dll. По умолчанию он находится в папке \Program Files\ Visual Studio 2005 Team Foundation Server\Tools.
  • Замените шаблонную реализацию класса следующим исходным кодом. Обратите внимание, что класс наследуется от базового класса PolicyBase и помечен как сериализуемый.
  • using System;
    using System.Windows.Forms;
    using Microsoft.TeamFoundation.VersionControl.Client;
    [Serializable]
    public class CheckForCommentsPolicy : PolicyBase
    {
    public override string Description
    {
    get { return "Напоминает пользователям, что они должны сопровождать возврат изменений содержательными комментариями";
    }
    // Эта строка хранится с описанием политики на сервере системы управления исходным кодом.
    // Если у пользователя не установлена надстройка политики, отображается эта
    // строка. С ее помощью вы объясняете пользователю, как установить
    // надстройку политики.
    public override string InstallationInstructions
    {
    get { return "Инструкции по установке этой политики см. в InstallInstructions.txt."; }
    }
    // Эта строка определяет тип политики. Она отображается в списке политик, когда вы
    // добавляете новую политику в Team Project.
    public override string Type
    {
    get { return "Политика для проверки наличия комментариев к возврату изменений"; } }
    // Эта строка является описанием типа политики. Она отображается, когда вы
    // выбираете политику в диалоговом окне Add Check-in Policy.
    public override string TypeDescription
    {
    get { return "Эта политика подскажет пользователю, на каких условиях ему будет разрешено возвратить изменения."; }
    }
    // Этот метод вызывается инфраструктурой написания политик при создании 
    // новой политики возврата изменений или редактировании существующей. 
    // Он может использоваться для отображения интерфейса для данного типа политики,
    // позволяя пользователю менять параметры политики. public override bool Edit(IPolicyEditArgs args) {
    // Не требует специальной конфигурации
    return true; }
    // Этот метод является фактической реализацией политики. Он вызывается
    // инфраструктурой создания политик, когда требуется применить политику. 
    // В приведеннм примере метод вызывается при возникновении различных асинхронных
    // событий, которые могли привести к недействительности текущего списка
    // нарушений политики.
    public override PolicyFailure[] Evaluate()
    {
    string proposedComment = PendingCheckin.PendingChanges.Comment;
    if (String.IsNullOrEmpty(proposedComment))
    {
    return new PolicyFailure[] {
    new PolicyFailure("Пожалуйста, сопроводите возвращаемые изменения комментариями", this) }; }
    else {
    return new PolicyFailure[0]; } }
    // Этот метод вызывается двойным щелчком нарушения политики в интерфейсе.
    // В данном случае на экран выводится сообщение,  предлагающее пользователю
    // ввести комментарий.
    public override void Activate(PolicyFailure failure)
    {
    MessageBox.Show("Пожалуйста, сопроводите возвращаемые изменения комментариями.", "Как устранить нарушение политики"); }
    // Этот метод вызывается, если пользователь нажимает кнопку F1 при активном
    // нарушении политики в интерфейсе. В данном примере на экран выводится сообщение.
    public override void DisplayHelp(PolicyFailure failure)
    {
    MessageBox.Show("Данная политика напоминает о необходимости сопровождения возвращаемых изменений комментариями.", 
     "Prompt Policy Help");
     } 
    }

    Шаг 2 - регистрация класса пользовательской политики в реестре Windows

    На этом шаге вы добавите запись в реестр Windows, благодаря чему ваша политика будет отображаться в диалоговом окне Add Check-in Policy. Учтите, что сборка политики должна быть установлена на все компьютеры, где предполагается ее использовать. К ним относятся компьютер администратора командного проекта, который должен связать политику с проектом, и все компьютеры членов команды, на которых эта политика фактически реализуется.

    Важно! Политика проверяется на клиенте, когда разработчик возвращает файл в систему управления исходным кодом.

  • Запустите Regedit.exe и найдите раздел HKEY_LOCAL_MACHINE\ Software\Microsoft\VisualStudio\8.0\TeamFoundation\SourceControl\ Checkin Policies. Список зарегистрированных политик выводится в правой панели.
  • Щелкните правой кнопкой правую панель, выберите команду Создать (New) и щелкните Строковый параметр (String Value) .
  • Введите имя DLL -библиотеки своей пользовательской политики без расширения, например, CheckForCommentsPolicy, как в рассмотренном выше примере.

    Важно! Строка должна точно соответствовать имени DLL -файла - без расширения DLL.

  • Щелкните дважды новой строковый параметр и задайте в качестве значения полный путь и имя файла .dll.
  • Шаг 3 - применение пользовательской политики

    Теперь добавим пользовательскую политику в командный проект. Это гарантирует, что политика будет выполняться при каждом возврате файла.

  • В Team Explorer щелкните правой кнопкой свой командный проект, выберите Team Project Settings и щелкните Source Control.
  • Перейдите на вкладку Check-in Policy и щелкните Add.
  • Выберите политику Check for Comments Policy и дважды щелкните OK. Теперь политика будет применяться при каждом возврате файла в этом командном проекте.
  • Шаг 4 - проверка работоспособности пользовательской политики

    Попробуйте возвратить в систему файл исходного кода, чтобы убедиться, что пользовательская политика работает правильно.

  • Внесите изменения в файл и попытайтесь вернуть его без предоставления комментария к возвращаемым правкам.
  • Убедитесь, что возврат изменений приостановлен, потому что не выполнено требование политики возврата.
  • Добавьте комментарии и завершите возврат правок. С комментарием возврат должен пройти успешно, без вывода на экран уведомления о нарушении политики.
  • Дополнительные ресурсы

  • Подробнее о том, как настроить политику возврата после правки, читайте в статье "Walkthrough: Customizing Check-in Policies and Notes" по адресу http://msdn2.microsoft.com/en-us/library/ms181281(VS.80).aspx.
  • Чтобы посмотреть пример кода, который запрещает возврат правок с определенными вариантами кодирования, читайте статью "Checkin Policy to Disallow Certain Patterns" по адресу http://blogs.msdn.com/jmanning/ar-chive/2006/02/02/523125.aspx.
  • Чтобы посмотреть пример кода, который обязывает вводить комментарии при возврате после правки, читайте статью "Sample Checkin Policy: Make Sure the Comment Isn't Empty" по адресу http://blogs.msdn.com/ jmanning/archive/2006/01/21/515858.aspx.
  • Чтобы узнать, как зарегистрировать новую политику возврата после правки, читайте статью "I've Made a New Check-In Policy! How Do I Add It?" по адресу http://blogs.msdn.com/jmanning/archive/2006/02/07/526778. aspx.
  • Как создать дерево кода в Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System.
  • Описание

    В этой статье подробно разбирается процесс создания в TFS дерева исходного кода. Цель статьи - познакомить вас со всеми этапами создания собственного дерева исходного кода.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - создание командного проекта.
  • Шаг 2 - создание сопоставления рабочей области.
  • Шаг 3 - создание структуры каталогов в системе управления исходным кодом.
  • Шаг 4 - добавление исходного кода в дерево.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать командный проект.
  • Научиться создавать сопоставление рабочей области.
  • Научиться создавать дерево исходного кода в системе Team Foundation Server.
  • Обзор

    Чтобы добавить решение в систему управления исходным кодом, достаточно просто щелкнуть его правой кнопкой в Solution Explorer и выбрать команду Add Solution To Source Control. Однако такой вариант не позволяет явно настроить структуру дерева исходного кода в системе управления исходным кодом. Явно описывая структуру каталогов, вы можете организовать исходный код под папками верхнего уровня и использовать отдельные папки верхнего уровня для размещения основного исходного кода и его ответвлений, например, ветвей, используемых при разработке или для обслуживания готовых выпусков.

    В данной статье описаны шаги, необходимые для явного создания структуры дерева исходного кода.

    Порядок операций

  • Шаг 1 - создание командного проекта.
  • Шаг 2 - создание сопоставления рабочей области.
  • Шаг 3 - создание структуры каталогов в системе управления исходным кодом.
  • Шаг 4 - добавление исходного кода в дерево.
  • Шаг 1 - создание командного проекта

    Для начала мы создадим новый командный проект с настройками по умолчанию.

  • В Team Explorer щелкните правой кнопкой свой сервер TFS и выберите команду New Team Project.
  • В диалоговом окне New Team Project ведите имя проекта, например MyTeamProject1, и щелкните Next.
  • На странице Select a Process Template оставьте значение по умолчанию - MSF for Agile Software Development - v4.0 - и щелкните Next.
  • На странице Specify the Settings for the Project Portal оставьте предлагаемое имя портала проекта ( MyTeamProject1 ), введите описание портала проекта и щелкните Next.
  • На странице Specify Source Control Settings оставьте значение по умолчанию Create an empty source control folder, чтобы создать пустую папку системы управления исходным кодом, и щелкните Next.
  • Щелкните Finish, чтобы создать проект.
  • На сервере TFS будут созданы новый командный проект с использованием выбранного шаблона процесса и пустая папка для него.

    Шаг 2 - создание сопоставления рабочей области

    Теперь нужно создать сопоставление рабочей области для описания соответствия между структурой каталогов на сервере TFS и на клиенте. Это необходимо для создания структуры дерева исходного кода. Сначала дерево каталогов создается в вашей рабочей области, затем вы должны передать его на сервер TFS.

    >Сопоставление рабочей области можно создать двумя способами:

  • явно задать сопоставление рабочей области;
  • выполнить для своего командного проекта операцию get.
  • Явное задание сопоставления рабочей области

  • В меню File Visual Studio выберите команду Source Control и щелкните Workspaces.
  • В диалоговом окне Manage Workspaces выберите имя своего компьютера и щелкните Edit.
  • В диалоговом окне Edit Workspace в списке Working folders щелкните Click here to enter a new working folder.
  • Щелкните многоточие, выберите свой командный проект (например, MyTeamProject1 ) и щелкните OK.
  • Щелкните ячейку локальной папки, чтобы появилась еще одна кнопка с многоточием.
  • Щелкните многоточие под Local Folder и выберите локальную папку на компьютере, где вы хотите разместить рабочую область командного проекта, например, C:\DevProjects\MyTeamProject1.
  • Дважды щелкните OK, чтобы закрыть диалоговое окно Edit Workspace
  • Щелкните OK в информационном сообщении Microsoft Visual Studio об изменении одной или нескольких рабочих папок.
  • Щелкните Close, чтобы закрыть диалоговое окно Manage Workspaces.
  • Выполнение операции Get для командного проекта

  • В Team Explorer разверните узел командного проекта MyTeamProject1.
  • Щелкните дважды Source Control.
  • В Source Control Explorer щелкните правой кнопкой мыши корневую папку MyTeamProject1 и выберите команду Get Latest Version.
  • В диалоговом окне Browse For Folder выберите нужный локальный путь (например, C:\DevProjects\MyTeamProject1 ) и щелкните OK. Корневая папка командного проекта с TFS будет сопоставлена с локальной папкой на вашем компьютере.
  • Шаг 3 - создание структуры каталогов в системе управления исходным кодом

    На этом этапе исходя из стратегии и требований проекта создается структура каталогов системы управления исходным кодом на сервере. Обычно за основу берется структура /Main/Source, которая позволяет впоследствии создавать на одном уровне с Main ветви Development и Releases. В папке Releases размещаются ветви кода выпущенных версий ПО, для которых вы обеспечиваете поддержку. Папка Development содержит изолированные ветви разработки.

    /Main
    		/Source
    			/MyApp1 					-> Содержит MyApp1.sln
    				/Source 				-> Папка-контейнер
    /ClassLibrary1 			-> Содержит ClassLibrary1.csproj
    /MyApp1Web 			-> Содержит Default.aspx
    /UnitTests 				-> Содержит проекты модульных тестов
    /ClassLibrary1Tests 		-> Проект тестирования для ClassLibrary1
    /MyApp1WebTests 		-> Проект тестирования для MyApp1Web
    /Build 					-> Содержит результат сборки (двоичные файлы)
    /Docs 					-> Содержит проектную документацию и пр.
    /TestCases 				-> Содержит документацию по тестированию
    /Development
    /FeatureBranch1
    /Source
    /MyApp1
    /Source
    /MyApp1Web
    /ClassLibrary1
    /UnitTests
    /ClassLibrary1Tests
    /MyApp1WebTests
    /FeatureBranch2
    /Releases
    /Release1
    /MyApp1
    /Source
    /ClassLibrary1
    /MyApp1Web
    /UnitTests
    /ClassLibrary1Tests
    /MyApp1WebTests
    /Release 1.1
    /Release 1.2

    Создание структуры каталогов на сервере:

  • В Team Explorer разверните узел командного проекта MyTeamProject1.
  • Дважды щелкните Source Control.
  • В Source Control Explorer выберите корневой узел, щелкните правой кнопкой мыши панель Local Path и выберите команду New Folder.
  • Введите имя Main и нажмите Enter.
  • В папке Main создайте папку Source.
  • Повторите предыдущие шаги, чтобы создать другие корневые папки, например, Development и Releases.
  • Создав структуру дерева каталогов, щелкните правой кнопкой мыши корневой узел MyTeamProject1 в Source Control Explorer и выберите команду Check-in Pending Changes.
  • В диалоговом окне Check In - Source Files - Workspace выберите папки, которые необходимо возвратить в систему управления исходным кодом, добавьте комментарий и щелкните Check In. Структура каталогов будет создана локально и добавлена в систему управления исходным кодом TFS.
  • Шаг 4 - добавление исходного кода в дерево

    На этом этапе исходный код копируется с локального диска в дерево каталогов на сервере. В этом примере вы создадите новое веб-приложение и проект библиотеки классов, а затем добавите их в систему управления исходным кодом.

    Создание нового файла решения Visual Studio

  • Выберите в меню File команду New и щелкните Project.
  • Разверните Other Project Types и выберите Visual Studio Solutions.
  • На панели Templates выберите Blank Solution.
  • Введите MyApp1 в поле Name и C:\DevProjects\MyTeamProject1\ Main\Source в поле Location.
  • Щелкните OK. Visual Studio создаст новое решение и поместит файл решения (.sln) в папку C:\DevProjects\ MyTeamProject1\Main\Source\MyApp1.
  • Добавление в решение нового веб-сайта

  • В Solution Explorer щелкните решение правой кнопкой, выберите Add и щелкните New Web Site.
  • В списке Templates выберите ASP.NET Web Site, задайте File System в качестве Location и C:\DevProjects\MyTeamProject1\Main\Source\ MyApp1\Source\MyApp1Web в качестве пути.
  • Щелкните OK. Visual Studio создаст веб-сайт.
  • Добавление в решение нового проекта библиотеки классов

  • В Solution Explorer щелкните решение правой кнопкой, выберите Add и щелкните New Project.
  • В списке Project types выберите Visual C#, а в списке Templates выберите Class Library.
  • Не меняйте предлагаемое по умолчанию имя ClassLibrary1 и задайте в поле Location путь C:\DevProjects\MyTeamProject1\Main\Source\ MyApp1\Source.
  • Щелкните OK. Visual Studio создаст структуру нового проекта. Теперь локальная структура каталогов должна выглядеть следующим образом:
  • добавление решения в систему управления исходным кодом

    В Solution Explorer щелкните решение правой кнопкой мыши и выберите Add Solution to Source Control. Ваше решение и два проекта будут добавлены в Team Foundation Source Control.

    Теперь дерево исходного кода в системе управления исходным кодом должно выглядеть так:

    Дополнительные ресурсы

  • Подробнее о создании рабочей области читайте в статье "How to: Create a Workspace" по адресу http://msdn2.microsoft.com/en-us/library/ms181384 (VS.80).aspx.
  • Как настроить шаблон процесса в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В этой статье подробно разбирается изменение шаблона процесса, направленное на приведение его в соответствие с потребностями команды, а также рассматриваются используемые для этого инструменты. В шаблонах процесса описаны исходные настройки процесса для командных проектов. Настраивая шаблон процесса, можно задать:

  • параметры безопасности для управления доступом к командному проекту;
  • шаблоны, доступные на портале проекта Microsoft Office SharePoint® ;
  • наличие комментариев к изменениям, возвращаемым в систему управления исходным кодом;
  • типы и запросы рабочих элементов;
  • отчеты для контроля за разработкой проекта и его состоянием;
  • итерации и области, используемые для организации проекта. Последовательно пройдите все этапы, измените шаблон, а затем протестируйте внесенные изменения.
  • Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - установка редактора процесса.
  • Шаг 2 - выбор шаблона процесса.
  • Шаг 3 - загрузка шаблона процесса.
  • Шаг 4 - открытие шаблона в редакторе процесса.
  • Шаг 5 - изменение типов рабочих элементов.
  • Шаг 6 - изменение стандартных рабочих элементов.
  • Шаг 7 - изменение и управление запросами.
  • Шаг 8 - изменение областей и итераций.
  • Шаг 9 - изменение групп и прав доступа.
  • Шаг 10 - изменение настроек системы управления исходным кодом.
  • Шаг 11 - изменение портала проекта.
  • Шаг 12 - изменение отчетов.
  • Шаг 13 - выгрузка измененного шаблона процесса на сервер.
  • Дополнительные ресурсы.
  • Задачи

  • Разобраться, какие параметры шаблона процесса можно изменять.
  • Настроить шаблон процесса, используя Process Editor.
  • Обзор

    Visual Studio Team System (VSTS) и TFS предоставляют собой интегрированную среду с поддержкой большинства этапов процесса разработки ПО. Методология поддержки рабочего цикла командных проектов реализована в TFS при помощи шаблонов процессов. Шаблон процесса ( process template ) - это набор XML -файлов со спецификациями процессов и артефактов, составляющих конкретную методологию. Редактирование шаблона процесса заключается в изменении стандартных типов рабочих элементов, настроек безопасности, параметров системы управления исходным кодом и отчетов.

    Изменить шаблон можно, вручную редактируя XML -файлы, однако проще делать это при помощи инструмента Process Editor из комплекта Team Foundation Server Power Tool. Его интерфейс существенно упрощает процесс настройки. К тому же, редактирование XML -файлов вручную чревато большим количеством ошибок.

    Чтобы настроить шаблон процесса, необходимо скачать его с сервера, а затем с помощью Process Editor внести необходимые изменения.

    Порядок операций

  • Шаг 1 - установка редактора процессов.
  • Шаг 2 - выбор шаблона процесса.
  • Шаг 3 - загрузка шаблона процесса.
  • Шаг 4 - открытие шаблона в редакторе процесса.
  • Шаг 5 - изменение типов рабочих элементов.
  • Шаг 6 - изменение стандартных рабочих элементов.
  • Шаг 7 - изменение и управление запросами.
  • Шаг 8 - изменение областей и итераций.
  • Шаг 9 - изменение групп и прав доступа.
  • Шаг 10 - изменение настроек системы управления исходным кодом.
  • Шаг 11 - изменение портала проекта.
  • Шаг 12 - изменение отчетов.
  • Шаг 13 - выгрузка измененного шаблона процесса на сервер.
  • Шаг 1 - установка редактора процессов

    На начальном этапе выполняется установка инструмента Process Editor - удобного средства просмотра и настройки шаблонов процессов. Process Editor - это часть Team Foundation Server Power Tool, представляющая собой набор расширений, инструментов и утилит командной строки.

  • Прежде чем запускать программу установки .
  • Скачайте .
  • Выполните стандартную установку и проверьте, правильно ли установлен Power Tool, т.е., установлен ли он вместе с Process Editor:
  • Щелкните Start и Programs.
  • Щелкните Microsoft Team Foundation Server Power Tool.
  • Если появляется команда для вызова Microsoft Visual Studio Team System Process Editor, значит, Process Editor установлен правильно. В противном случае удалите Power Tool и установите повторно, строго придерживаясь описанной ранее последовательности действий.
  • Шаг 2 - выбор шаблона процесса

    Теперь выберите стандартный шаблон, наиболее близко соответствующий вашему процессу, чтобы для адаптации шаблона к процессу его не пришлось менять слишком сильно. С TFS поставляются два шаблона:

  • Microsoft Solution Framework (MSF) for Agile Software Development (MSF Agile) - шаблон для гибкой разработки ПО.
  • MSF for CMMI® Process Improvement (MSF CMMI) - шаблон для совершенствования процесса согласно рекомендациям CMMI.
  • MSF Agile

    Шаблон процесса MSF Agile прост и потому подходит, главным образом, для небольших, срочных или неформальных проектов по разработке ПО. Он основан на сценариях и действиях, управляемых контекстом, и ориентирован как на проект, так и на участников (людей). Шаблон процесса MSF Agile code> может использоваться в следующих сценариях:

  • Процесс разработки не документируется и не опирается на формальные процессы.
  • Не требуется сертификация процесса или подтверждение его соответствия стандартам разработки.
  • Разработка проекта будет непродолжительной.
  • Версии продукта должны выходить часто, чтобы оперативно получать обратную информацию от сообщества пользователей.
  • MSF CMMI

    Шаблон процесса MSF CMMI предназначен для более серьезных проектов по разработке ПО. Он расширяет функциональность шаблона MSF Agile, предоставляя поддержку аудита, верификации и формальных процессов. Этот шаблон может использоваться в следующих сценариях:

  • Процесс выполнения проекта документируется или формализован.
  • Предсказуемость выпускаемых версий более важна, чем гибкость.
  • Проект рассчитан на длительный срок.
  • Необходима сертификация процесса или подтверждение его соответствия стандартам разработки.
  • Примечание Вы не ограничены стандартными шаблонами. Если у вас установлены шаблоны процессов сторонних производителей, например, шаблон процесса Scrum, вы вольны использовать и их.

    Шаг 3 - загрузка шаблона процесса

    Скачайте выбранный шаблон процесса, чтобы далее изменить его соответственно своему процессу.

  • В Visual Studio выберите в меню Team команду Team Foundation Server Settings.
  • Щелкните Process Template Manager.
  • В диалоговом окне Process Template Manager выберите процесс, который хотите изменить, и щелкните Download.
  • В диалоговом окне Download Process Template выберите папку на локальном диске, в которую хотите сохранить шаблон, и щелкните Save. Например, можно загрузить шаблон процесса MSF CMMI и разместить его на своем рабочем столе для использования на следующих шагах.
  • Шаг 4 - открытие шаблона в редакторе процесса

    Загрузите скачанный шаблон процесса в Process Editor для изменения различных параметров.

  • В Visual Studio раскройте меню Team.
  • Щелкните Process Editor и выберите Open Process Template.
  • В диалоговом окне Open Process Template fileset перейдите к загруженному шаблону процесса и щелкните Open, чтобы открыть файл ProcessTemplate.xml в Visual Studio.
  • Задайте имя настраиваемой методологии.
  • Допустим, вы назвали новый шаблон процесса My Template.

    Шаг 5 - изменение типов рабочих элементов

    На данном этапе вы создадите новые типы рабочих элементов, характерные для вашего процесса, или внесете изменения в существующие типы рабочих элементов.

    Добавление новых типов рабочих элементов

  • В Process Template Explorer щелкните Work Item Tracking.
  • В правой панели перейдите на вкладку Type Definitions.
  • Чтобы создать новый рабочий элемент, щелкните Add на панели инструментов правой панели.
  • В диалоговом окне New Work Item Type введите имя типа рабочего элемента или выберите существующий тип из раскрывающегося списка Copy From.
  • Новый тип рабочего элемента будет создан и включен в список Item List на вкладке Type Definitions правой панели.
  • В меню File выберите команду Save, чтобы сохранить изменения.
  • Например, можно создать новую ошибку "My Bug" , скопировав рабочий элемент Bug, а затем отредактировать тип рабочего элемента и изменить его поведение.

    Редактирование типа рабочего элемента

    Чтобы добавить или удалить поля атрибутов нового или существующего типа рабочего элемента, на вкладке Type Definitions щелкните правой кнопкой необходимый тип и выберите команду Open. Выбранный тип рабочего элемента открывается в новом окне Visual Studio, где можно добавлять или удалять необходимые атрибуты.

    Добавление в рабочий элемент нового поля

  • Перейдите на вкладку Fields и щелкните Add на панели инструментов.
  • В диалоговом окне Field Definition введите следующие данные:
  • Name - имя нового поля.
  • Type - тип данных для поля.
  • RefName - уникальный идентификатор поля в TFS. В имени идентификатора должна быть, по крайней мере, одна точка, например, Test.Test1.
  • Help Text - текст, который будет видеть пользователь, поместив указатель над именем поля. Как правило, это описание поля.
  • Reportable - атрибут, определяющий, будут ли данные поля доступны для включения в отчеты TFS. Возможны следующие варианты: Dimension, Detail и Measure. Первый - измерение - предназначен для полей со списком допустимых значений. Хорошие примеры измерений - Work Item Type и State. Поле Dimension может использоваться для фильтрации отчетов. Вариант Detail подходит для отчетов, поскольку разрешает размещать текст без ограничений по длине. Отчеты, включающие эти поля, должны опираться не на куб OLAP, а на реляционную базу данных. Наконец, Measure - это числовые значения в отчетах. Каждая мера появляется и в группе мер Current Work Item, и в группе мер Work Item History.
  • Formula - раскрывающийся список, который отображается, только если вы выбрали Measure в поле Reportable. К числу его параметров относятся sum, count и avg.
  • Для любого поля, добавляемого в тип рабочего элемента, можно ввести ограничения на допустимые значения. Также можно наложить ограничение на поле для определенного состояния рабочего элемента и при определенном переходе рабочего элемента из состояния в состояние. Чтобы наложить ограничения, выполните следующие действия:
  • Перейдите на вкладку Rules и щелкните New.
  • В диалоговом окне Select a rule type выберите тип правила. Чаще всего используются такие типы:
  • AllowedValues Используйте этот тип, чтобы задать список значений, которые можно вводить в это поле.
  • DefaultValue Используйте этот тип, чтобы назначить полю значение по умолчанию.
  • Required Используйте этот тип, если пользователь обязательно должен задавать значение этого поля.
  • ValidUser Содержит имя пользователя проекта.
  • Дважды щелкните OK, чтобы сохранить изменения.
  • Добавив поле в рабочий элемент, решите, где и когда это поле должно отображаться. Чтобы добавить поле в разметку рабочего элемента, выполните следующее:
  • На странице Work Item Type перейдите на вкладку Layout.
  • На вкладке Layout выберите в дереве компоновки место, где хотите разместить новое поле.
  • На левой панели щелкните правой кнопкой выбранный узел и выберите New Control.
  • Добавьте соответствующую метку, а затем в качестве значения свойства FieldName элемента управления используйте идентификатор RefName, введенный для поля ранее.
  • Щелкните Preview Form, чтобы убедиться, что новый элемент управления правильно расположен на форме рабочего элемента.
  • В качестве примера добавим в созданный ранее тип рабочего элемента My Bug новое поле Security Impact. Выполните следующие действия:

  • Перейдите на вкладку Fields и щелкните Add на панели инструментов.
  • В диалоговом окне Field Definition введите следующие данные:
  • Name - Security Impact
  • Type - String
  • RefName - MyBug.CustomField.1
  • Help Text - степень влияния ошибки на безопасность, значения в диапазоне от 1 до 5, где 1 представляет самое слабое влияние, а 5 - самое сильное.
  • Reportable - задайте значение Dimension, чтобы иметь возможность создать отчет об ошибках, которые влияют на безопасность.
  • Перейдите на вкладку Rules и щелкните кнопку Add.

    В диалоговом окне Select a rule type установите параметр ALLOWED-VALUES и щелкните OK.

  • В диалоговом окне ALLOWEDVALUES пятикратно щелкните кнопку Add, добавив значения от 1 до 5.
  • Щелкните OK.
  • Перейдите на вкладку Layout.
  • Добавьте новое поле в группу Status:
  • Под заголовком Group - Status щелкните правой кнопкой мыши второй узел Column и выберите New Control.
  • Присвойте параметру FieldName значение MyBug.CustomField.1.
  • Присвойте параметру Label значение Security Impact. Символ, следующий за "", будет "горячей" клавишей для этого поля.
  • Щелкните Preview Form, чтобы убедиться, что новое поле размещено правильно.
  • Удаление поля из рабочего элемента

    Поля часто упоминаются в запросах, отчетах и т.д. Чтобы не разыскивать и не удалять все эти ссылки, можно оставить поля в системе, но удалить их из разметки диалогового окна рабочего элемента, чтобы лишить пользователя возможности задавать их значения.

    Удалим одно из полей созданного ранее типа рабочего элемента My Bug:

  • Перейдите на вкладку Layout, чтобы вывести на экран разметку формы для элемента My Bug.
  • На вкладке Layout в дереве компоновки разверните ветвь TabPage Details Group Column Group Schedule Column, щелкните правой кнопкой мыши Remaining work и выберите команду Delete, чтобы удалить поле из разметки.
  • В будущем поле можно будет вернуть в разметку, потому что фактически само поле не было удалено.

    Редактирование последовательности операций рабочего элемента

    После создания типа рабочего элемента и компоновки полей наступает черед заключительного этапа - редактирования последовательности операций типа рабочего элемента. Последовательность определяет состояния, в которых может находиться рабочий элемент в ходе своего жизненного цикла, и переходы между этими состояниями. Поскольку наш рабочий элемент является копией существующего рабочего элемента, его последовательность операций также была скопирована. Теперь необходимо пересмотреть эту последовательность и принять решение о том, как ее следует откорректировать. Чтобы изменить последовательность операций рабочего элемента, выполните следующие действия:

  • Создайте состояния и переходы между состояниями.
  • Перейдите на вкладку Workflow (резюме операций), чтобы открыть окно Workflow.
  • Чтобы создать новое состояние, перетащите состояние из панели инструментов WITDesigner в окно Workflow.
  • Чтобы создать переход между двумя состояниями, в панели инструментов WITDesigner щелкните значок Transition Link, а затем щелкните начальное и конечное состояние.
  • Чтобы задать исходное состояние (то есть, состояние только что созданного рабочего элемента), щелкните Transition Link, затем щелкните пустую область диаграммы, затем щелкните начальное состояние. При этом будет создан переход, не имеющий начального состояния. На диаграмме должен присутствовать только один такой переход. Если он уже есть, его надо удалить.
  • Чтобы увидеть список атрибутов каждого из состояний или переходов, щелкните значок развертывания в верхнем правом углу фигуры. В списке полей значком "+" обозначено обязательное для заполнения поле; значком "-" обозначено необязательное для заполнения поле; значком "*" обозначено поле, имеющее другие правила.
  • Чтобы редактировать атрибуты состояния или перехода, щелкните правой кнопкой мыши заголовок состояния и выберите Open Details или просто дважды щелкните заголовок.
  • Примечание Если панель инструментов WITDesigner не отображается, выберите команду Toolbox в меню View Visual Studio.

  • Отредактируйте правила, управляющие состоянием:
  • Щелкните правой кнопкой заголовок состояния и выберите команду Open Details или щелкните заголовок дважды. Откроется диалоговое окно Workflow State Field Rules. Каждый элемент списка ссылается на поле типа рабочего элемента и представляет набор правил, управляющих полем, когда рабочий элемент находится в данном состоянии.
  • На вкладке Field Reference задайте RefName, чтобы обозначить поле, на которое хотите наложить ограничение в то время, когда рабочий элемент находится в этом состоянии. Раскрывающийся список с доступными полями находится на вкладке Fields типа рабочего элемента.
  • На вкладке Rules щелкните New, чтобы создать новое правило, или щелкните Open, чтобы редактировать существующее правило. В зависимости от типа правила в диалоговом окне отображаются разные данные.
  • Щелкните OK.
  • Отредактируйте переход:
  • Щелкните правой кнопкой заголовок перехода и выберите Open Details, чтобы открыть диалоговое окно Workflow Transition.
  • На вкладке Transition Detail определены состояния перехода From и To. Если переход соответствует исходному состоянию, в котором рабочий элемент данного типа находится сразу после создания, состояние From должно быть пустым. Эти поля соответствуют связям на диаграмме последовательности операций. Поля For и Not могут содержать имя пользователя или группы, которые могут или не могут выполнять переход.
  • На вкладке Reasons определено допустимое значение поля Reason в момент перехода. Для каждого перехода должна быть задана, по крайней мере, одна причина.
  • На вкладке Actions определены действия переходов между состояниями, необходимые для автоматизации переходов рабочих элементов в различных точках последовательности операций. Например, система управления исходным кодом TFS должна поддерживать автоматические переходы рабочих элементов во время возврата изменений.
  • На вкладке Fields определены правила, ограничивающие поля во время перехода.
  • Щелкните OK.
  • Шаг 6 - изменение стандартных рабочих элементов

    На данном этапе вы добавляете или удаляете стандартные рабочие элементы, создаваемые вместе с проектом. Эти рабочие элементы создаются по умолчанию и позволяют команде организовать подготовку к проекту, назначив рабочие элементы, которые должны быть завершены до его начала.

  • В Process Template Explorer щелкните Work Item Tracking.
  • Перейдите на вкладку Default Work Items правой панели.
  • Чтобы создать новый тип рабочего элемента по умолчанию, щелкните Add на панели инструментов правой панели.
  • В диалоговом окне Choose Type выберите тип рабочего элемента.
  • В открывшемся диалоговом окне заполните соответствующие поля.
  • Щелкните OK.
  • Попробуйте удалить задачу Setup: Migration of Source Code, выполнив следующие действия:

  • В Process Template Explore r щелкните Work Item Tracking.
  • Перейдите на вкладку Default Work Items правой панели.
  • Выберите Setup: Migration of Source Code.
  • Щелкните Remove
  • Задача по умолчанию Setup: Migration of Source Code более не будет создаваться при создании нового проекта на основе данного шаблона.

    Шаг 7 - изменение и управление запросами

    Измените, добавьте или удалите стандартные запросы, создаваемые одновременно с командным проектом.

  • В Process Template Explorer щелкните Work Item Tracking.
  • Перейдите на вкладку Queries (запросы) правой панели.
  • Чтобы создать новый запрос, щелкните Add на панели инструментов правой панели.
  • В диалоговом окне Query Reference введите имя нового запроса.
  • Щелкните Edit Query Definition.
  • Используйте вкладки Fields, Sorting и Criteria диалогового окна Query Edit, чтобы описать свой запрос.
  • Щелкните OK.
  • Например, создадим запрос, который будет выбирать все ошибки с самым сильным воздействием на безопасность:

  • В Process Template Explorer щелкните Work Item Tracking.
  • Перейдите на вкладку Queries правой панели.
  • Щелкните Add.
  • Присвойте параметру Name значение Bugs with Security Impact.
  • Щелкните Edit Query Definition.
  • В диалоговом окне Query Edit перейдите на вкладку Fields, выберите все поля для отображения, включая MyBug.CustomField.1, и щелкните кнопку со стрелкой, чтобы перенести их в окно Selected Columns. Если вы не видите добавленного вами поля, убедитесь, что сохранили файл ProcessTemplate.xml, и повторите попытку.
  • Перейдите на вкладку Criteria, оставьте столбец And Or пустым, а в столбце Field выберите значение MyBug.CustomField.1. В столбце Operator выделите стрелку, а затем в столбце Value введите "1". Значение 1 обязательно нужно взять в кавычки, потому что это поле строкового типа. Если бы при создании поля Security Impact был выбран тип integer или другой числовой тип, кавычки были бы не нужны.
  • Дважды щелкните OK.
  • Этот запрос отобразит все рабочие элементы, у которых значение в поле MyBug.CustomField.1 превышает 1.

    Примечание В Process Editor отсутствуют некоторые важные функции по управлению запросами. Их лучше редактировать и тестировать не в шаблоне процесса, а в Visual Studio, в разрабатываемом командном проекте. Запросы можно сохранять в файлы, а затем импортировать их в другие проекты или копировать в шаблоны процессов.

    Шаг 8 - изменение областей и итераций

    На данном этапе задаются итерации и области по умолчанию, доступные в момент создания командного проекта.

  • В Process Template Explorer щелкните Areas Iterations.
  • Перейдите на вкладку Areas или Iterations правой панели.
  • С помощью панели инструментов правой панели добавляйте, удаляйте или перемещайте области или итерации.
  • Например, добавим несколько стандартных областей для организации проектов, создаваемых на основе этого шаблона:

  • В Process Template Explorer щелкните Areas Iterations.
  • Перейдите на вкладку Areas правой панели.
  • Щелкните кнопку New.
  • В поле имени области введите UI.
  • Выберите Area, потому что вам нужно, чтобы следующая область была потомком корневой области.
  • Щелкните кнопку New еще раз.
  • В текстовом поле имени области введите Back End.
  • Теперь для всех новых проектов, использующих ваш шаблон процесса, автоматически будут определены области UI и Back End.

    Шаг 9 - изменение групп и прав доступа

    На данном этапе вы изменяете, удаляете или добавляете группы и их права доступа на момент создания командного проекта.

  • В Process Template Explorer щелкните Groups Permissions.
  • Чтобы создать новую группу, щелкните Add на панели инструментов правой панели.
  • В диалоговом окне Group введите имя новой группы и краткое описание того, что могут делать ее члены. Затем щелкните OK.
  • В верхней части правой панели выберите группу и задайте для нее разрешения. Выберите значения Allow, Deny, или сохраните значение Unset. Оно подразумевает отказ в доступе.
  • Шаг 10 - изменение настроек системы управления исходным кодом

    На этом этапе вы измените настройки системы управления исходным кодом для параллельного редактирования и возврата правок.

  • В Process Template Explorer щелкните Source Control.
  • Перейдите на вкладку Checkout Settings правой панели.
  • Чтобы разрешить одновременное редактирование файла несколькими разработчиками, установите флажок Enable Multiple Checkout.
  • Перейдите на вкладку Checkin Notes правой панели.
  • Чтобы создать новое поле Checkin Note, щелкните Add на панели инструментов окна справа.
  • Чтобы редактировать существующее поле Checkin Note, выберите поле и щелкните Open.
  • В диалоговом окне Checkin Note внесите необходимые изменения.
  • Щелкните OK.
  • Примечание В этой версии Process Editor недопускается внесение изменений на вкладке Permissions.

    Например, можно потребовать, чтобы все возвраты изменений сопровождались комментариями, выполнив следующие действия:

  • В Process Template Explorer щелкните Source Control.
  • Перейдите на вкладку Checkin Notes правой панели.
  • Щелкните дважды каждую строку и установите флажок Required в диалоговом окне Checkin Note.
  • Теперь все возвраты правок обязательно должны будут сопровождаться комментариями.

    Шаг 11 - изменение портала проекта

    На данном этапе вносятся изменения в портал проекта, чтобы отображать на нем определенные документы и руководства по процессу.

  • В Process Template Explorer щелкните Portal.
  • Чтобы создать новую библиотеку, щелкните правой кнопкой узел Portal в средней панели и выберите команду New Document Library.
  • В диалоговом окне Document Library введите имя и описание библиотеки.
  • Щелкните OK.
  • Щелкните правой кнопкой библиотеку документов и выберите New Folder, чтобы создать новую папку.
  • В диалоговом окне Folder Properties введите имя новой папки.
  • Выберите папку и затем на панели инструментов правой панели щелкните Add, чтобы выгрузить новый документ на сервер.
  • В диалоговом окне File Import перейдите к файлу, который хотите выгрузить на сервер. Поля Destination Folder и Share Point Folder будут заполнены автоматически. Оставьте неизменным значение поля Query Id.
  • Щелкните Import.
  • Чтобы редактировать свойства существующего документа в библиотеке документов, выберите документ в правой панели и щелкните Open на панели инструментов.
  • В диалоговом окне File Edit измените имя файла в поле Name. Остальные поля оставьте без изменений.
  • Щелкните OK.
  • Шаг 12 - изменение отчетов

    На данном этапе вы добавите или удалите отчеты из набора по умолчанию, создаваемого вместе с командным проектом.

  • В Process Template Explorer щелкните Reports.
  • На панели инструментов щелкните Add.
  • В диалоговом окне Report на вкладке Report Detail введите имя отчета.
  • Перейдите к файлу .rdl, который хотите добавить в поле File Name. Не вносите никаких изменений на вкладках Properties и Parameters.
  • На вкладке DataSources введите соответствующие источники данных. Стандартные источники данных для шаблонов процессов, поставляемые с TFS, - /TfsOlapReportDS и /TfsReportDS.
  • Щелкните OK.
  • Чтобы удалить отчет из шаблона процесса, выполните следующие действия:

  • В Process Template Explorer щелкните Reports.
  • Выберите отчет Load Test Detail (данные нагрузочного тестирования) и щелкните Remove.
  • Теперь отчет Load Test Detail не будет включаться в проекты, создаваемые с использованием этого шаблона процесса.

    Шаг 13 - выгрузка измененного шаблона процесса на сервер

    Теперь мы выгрузим измененный шаблон процесса на TFS, после чего он станет доступен для создания новых командных проектов.

  • Щелкните Save на панели инструментов Visual Studio, чтобы сохранить файл ProjectTemplate.xml.
  • Щелкните Team и выберите Team Foundation Server Settings.
  • Щелкните Process Template Manager.
  • В диалоговом окне Process Template Manager щелкните Upload.
  • Перейдите в локальную папку, где находится измененный шаблон процесса.
  • В диалоговом окне Upload Process Template щелкните Upload. Новый шаблон процесса должен появиться в списке Process Templates.
  • Щелкните Close.
  • Процесс настройки завершен. При создании следующего командного проекта этот шаблон будет перечислен среди предлагаемых шаблонов процессов. Чтобы протестировать изменения, описанные в этой статье, выгрузите на сервер созданный вами шаблон процесса My Test:

  • Убедитесь, что сохранили все открытые XML -файлы шаблона процесса.
  • В Visual Studio щелкните Team и выберите Team Foundation Server Settings.
  • Щелкните Process Template Manager.
  • В диалоговом окне Process Template Manager щелкните Upload.
  • Перейдите в папку на рабочей станции, где вы работали с шаблоном процесса My Test.
  • В диалоговом окне Upload Process Template щелкните Upload Новый шаблон процесса должен появиться в списке Process Templates.
  • Щелкните Close.
  • Создайте новый проект на основании этого шаблона процесса:

  • В меню File выберите New и щелкните Team Project.
  • Задайте имя (например, Test Project ) и щелкните Next.
  • В раскрывающемся списке шаблонов выберите My Test.
  • Щелкните Finish.
  • Просмотрите измененные вами области:

  • Просмотрите новый тип рабочего элемента.
  • В меню Team выберите Add Work Item и щелкните My Bug, чтобы создать новый рабочий элемент созданного вами типа.
  • В блоке Status просмотрите поля рабочего элемента. Среди них должно присутствовать добавленное вами поле Security Impact.
  • Убедитесь, что в поле можно вводить только значения в диапазоне от 1 до 5, введите значение 5 и сохраните рабочий элемент.
  • Убедитесь, что удаленного стандартного рабочего элемента больше нет в проекте.
  • В Team Explorer откройте свой командный проект.
  • Разверните папку Work Items.
  • Разверните папку Team Queries.
  • Щелкните дважды All Work Items.
  • Просмотрите все предлагаемые стандартные задачи, чтобы убедиться в отсутствии задачи Setup: Migration of Source Code.
  • Проверьте запрос, который вы добавили.
  • В Team Explorer откройте свой командный проект.
  • Разверните папку Work Items.
  • Разверните папку Team Queries.
  • Щелкните дважды Bugs with Security Impact.
  • Убедитесь, что созданная вами ошибка отображается правильно.
  • Просмотрите добавленные вами области.
  • Выберите задачу из запроса All Work Items, выполненного в предыдущем шаге.
  • В раскрывающемся списке Area найдите две добавленные вами области ( UI и Back End ).
  • Убедитесь, что удаленного вами отчета больше нет в проекте.
  • В Team Explorer откройте свой командный проект.
  • Разверните папку Reports.
  • Просмотрите список и убедитесь, что отчета Load Test Detail нет.
  • Дополнительные ресурсы

  • Дополнительную информацию о настройке шаблонов процессов вы найдете в статье "Process Template Customization Overview" по адресу http:// msdn2.microsoft.com/en-us/library/ms194945(VS.80).aspx.
  • Скачать .
  • Подробнее о настройке шаблона процесса с использованием инструмента Process Editor читайте в руководстве "Process Editor User Guide", устанавливаемом вместе с Process Editor Tool.
  • Как настроить отчет в Visual Studio 2005 Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Microsoft® SQL Server™ Reporting Services.
  • Описание

    В этой статье подробно разбирается процесс редактирования существующего отчета с последующей публикацией на портале системы отчетов TFS.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - экспорт отчета.
  • Шаг 3 - создание источников данных.
  • Шаг 4 - добавление отчета в проект.
  • Шаг 5 - редактирование отчета.
  • Шаг 6 - развертывание отчета на Team Foundation Server.
  • Шаг 7 - тестирование отчета.
  • Дополнительные ресурсы.
  • Задачи

  • Создать проект отчетов в Visual Studio.
  • Настроить существующий отчет согласно своим нуждам.
  • Опубликовать новый отчет на сервере отчетов.
  • Обзор

    Отчеты, поставляемые с VSTS, основаны на использовании SQL Server Reporting Services. С помощью конструктора отчетов Visual Studio (Business Intelligence Development Studio) из комплекта клиентских инструментов SQL Server 2005 можно редактировать готовые отчеты или создавать собственные.

    Возможность настраивать отчеты позволяет вводить в них дополнительную функциональность. Если вам нужен отчет, подобный существующему, вам не нужно создавать новый отчет с нуля. Возьмите имеющийся отчет и настройте его, сэкономив таким образом немало времени. Чтобы настроить существующий отчет, его необходимо экспортировать с сервера отчетов, добавить в существующий проект отчетов Visual Studio, а затем после внесения изменений повторно развернуть на портале отчетов.

    Порядок операций

  • Шаг 1 - создание нового проекта отчетов.
  • Шаг 2 - экспорт отчета.
  • Шаг 3 - создание источников данных.
  • Шаг 4 - добавление отчета в проект.
  • Шаг 5 - редактирование отчета.
  • Шаг 6 - развертывание отчета на Team Foundation Server.
  • Шаг 7 - тестирование отчета.
  • Прежде всего

    Прежде чем приступать к настройке отчета для Team Foundation Server, убедитесь в следующем:

  • На компьютере, который будет использоваться для настройки отчета, должна быть установлена среда Business Intelligence Development Studio. Чтобы проверить ее наличие, при создании нового проекта посмотрите, имеется ли в Visual Studio тип Business Intelligence Project.
  • Ваша учетная запись должна быть членом роли безопасности Microsoft Analysis Server TfsWarehouseDataReaders на сервере уровня данных.
  • Ваша учетная запись должна обладать правами администратора БД TFSWarehouse уровня данных.
  • Ваша учетная запись должна быть членом роли Publisher в SQL Server Reporting Services на сервере уровня приложений.
  • Шаг 1 - создание нового проекта отчетов

    Чтобы добавить в проект новый отчет и настроить его, начните с создания проекта отчетов. Выполните следующие действия:

  • В Visual Studio откройте меню File, выберите команду New и щелкните Project.
  • Выберите тип Business Intelligence Project.
  • Выберите шаблон Report Server Project.
  • Задайте имя и расположение проекта. Затем щелкните OK.
  • Шаг 2 - экспорт отчета

    Отчет, который требуется настроить, экспортируется с портала проекта, чтобы затем импортировать его в новый проект отчетов. Выполните следующие действия, чтобы экспортировать отчет:

  • Щелкните правой кнопкой свой командный проект и выберите Show Project Portal.
  • На панели Quick Launch левой части веб-сайта портала щелкните Reports.
  • Выберите отчет, который хотите настраивать.
  • Щелкните Properties.
  • Выберите Edit.
  • Сохраните файл .rdl отчета в папку проекта отчетов, который был создан в шаге 1.
  • Шаг 3 - создание источников данных

    Чтобы редактировать и публиковать настроенный отчет, необходимо добавить источники данных для хранилища данных Team Foundation Server и OLAP -куб. После добавления этих источников данных в проект Visual Studio отчет может закачивать данные с сервера.

    Создание источника данных хранилища

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsReportDS в текстовое поле Name.
  • В списке Type выберите Microsoft SQL Server.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Создание источника данных OLAP

  • В окне Visual Studio Solution Explorer щелкните правой кнопкой Shared Data Sources и выберите команду Add New Data Source.
  • На вкладке General введите TfsOlapReportDS в поле Name.
  • В списке Type выберите Microsoft SQL Server Analysis Services.
  • Щелкните Edit.
  • Введите имя сервера уровня данных.
  • Выберите базу данных TFSWarehouse.
  • Дважды щелкните ОК, чтобы добавить источник данных.
  • Шаг 4 - добавление отчета в проект

    Теперь, когда в проект добавлены источники данных, можно импортировать отчет, экспортированный на шаге 2:

  • В Solution Explorer щелкните правой кнопкой Reports, выберите Add и затем щелкните Existing Item.
  • Перейдите к файлу .rdl, экспортированному на шаге 2.
  • Шаг 5 - редактирование отчета

    Добавив отчет в проект, внесите в него коррективы и настройте соответственно своим нуждам. Чтобы открыть отчет для редактирования, дважды щелкните его в Solution Explorer. Теперь его можно менять следующим образом:

  • менять операторы запросов в Data Pane ;
  • перетаскивать новые меры или элементы в Data Pane ;
  • менять разметку отчета в Layout Pane.
  • Шаг 6 - развертывание отчета на Team Foundation Server

    Внеся изменения в отчет, разверните его на портале отчетов командного проекта:

  • В Solution Explorer щелкните правой кнопкой проект отчетов и выберите Properties.
  • Убедитесь, что атрибуту OverwriteDataSources присвоено значение false.
  • Измените значение TargetDataSourceFolder согласно имени своего командного проекта, например: TargetDataSourceFolder = TestProject
  • 4. Измените значение TargetReportFolder согласно имени своего командного проекта, например: TargetReportFolder = TestProject
  • 5. Присвойте параметру TargetServerURL значение http://<имя сервера уровня данных>/reportserver, например: TargetServerURL = http://tfsrtm/reportserver
  • Щелкните OK.
  • В Solution Explorer щелкните правой кнопкой файл .rdl и выберите Deploy.
  • Посмотрите на Output Pane, чтобы убедиться в успешности операции.
  • Шаг 7 - тестирование отчета

    Опубликовав отчет на сервере отчетов своего командного проекта, протестируйте его, чтобы убедиться в успешности развертывания:

  • В Team Explorer разверните узел своего командного проекта, щелкните правой кнопкой Reports и выберите команду Show Report Site.
  • На сайте отчетов выберите созданный отчет.
  • Убедитесь, что он выглядит так, как ожидалось.
  • Дополнительные ресурсы

  • Дополнительную информацию по работе с проектами отчетов вы найдете в статье "Reporting Services Tutorials" по адресу http://msdn2.microsoft. com/en-us/library/ms170246.aspx.
  • О редактировании отчетов читайте в статье "How to: Edit Reports in Report Designer" по адресу http://msdn2.microsoft.com/en-us/library/ms 244655(VS.80).aspx.
  • О ролях системы безопасности уровня данных читайте в статье "Securing Access Through Analysis Services" по адресу http://msdn2.microsoft.com/ en-us/library/ms174839.aspx.
  • О ролях системы безопасности уровня приложений читайте в статье "Securing Reporting Services" по адресу http://msdn2.microsoft.com/en-us/ library/ms157198.aspx.
  • Как управлять проектами в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В этой статье подробно разбирается процесс запуска новых проектов по разработке ПО путем создания и настройки новых командных проектов на основе выбранного шаблона. Также здесь показано, как использовать инструменты TFS для организации, управления и отслеживания процессов разработки ПО.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - выбор шаблона процесса.
  • Шаг 2 - создание командного проекта.
  • Шаг 3 - создание групп доступа (при необходимости).
  • Шаг 4 - добавление членов команды в Team Foundation Server.
  • Шаг 5 - определение итерационного цикла.
  • Шаг 6 - описание сценариев проекта в TFS.
  • Шаг 7 - выбор сценариев для итерации.
  • Шаг 8 - определение требований QoS.
  • Шаг 9 - планирование итерации.
  • Шаг 10 - отслеживание процесса разработки.
  • Рекомендации по работе с областями и итерациями.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать командные проекты в TFS.
  • Научиться управлять проектами в TFS.
  • Обзор

    В комплект Visual Studio Team System входят инструменты и отчеты, с помощью которых руководители проектов могут единообразно и централизованно управлять всем циклом разработки ПО. Благодаря возможности управления разработкой ПО непосредственно из VSTS и использованию централизованной базы данных, с которой работают все члены команды, улучшается обмен информацией внутри команды и автоматизируется передача рабочих элементов между ее членами. Кроме того, отчеты, создаваемые на основе данных хранилища TFS, намного упрощают задачу по контролю за ходом выполнения проекта.

    В этой статье последовательно рассматривается процесс работы с командным проектом, начиная с создания и настройки нового проекта до контроля за его выполнением.

    Порядок операций

  • Шаг 1 - выбор шаблона процесса.
  • Шаг 2 - создание командного проекта.
  • Шаг 3 - создание групп доступа (при необходимости).
  • Шаг 4 - добавление членов команды в Team Foundation Server.
  • Шаг 5 - определение итерационного цикла.
  • Шаг 6 - описание сценариев проекта в TFS.
  • Шаг 7 - выбор сценариев для итерации.
  • Шаг 8 - определение требований QoS.
  • Шаг 9 - планирование итерации.
  • Шаг 10 - отслеживание процесса разработки.
  • Прежде всего

    Прежде чем приступать к созданию нового командного проекта, необходимо собрать следующую информацию:

  • Процесс, который будет использован в проекте От выбора процесса зависит выбор шаблона, на основе которого будет создан новый командный проект. Проанализировав процесс, вы также оцените, насколько сильно придется изменять поставляемые стандартные шаблоны. Если вы предпочитаете гибкий стиль выполнения проекта, выбирайте шаблон MSF Agile.
  • Имя проекта Тщательно продумайте соглашение о присвоении имен командным проектам. Проследите, чтобы имена проектов были достаточно уникальны и чтобы другие пользователи могли без труда найти проект по имени. В некоторых организациях в имя проекта включают его код проекта, в других используют сочетание названия отдела и заголовка проекта.
  • Структура системы управления исходным кодом Подумайте, начнете ли вы свой проект с пустого дерева исходного кода или возьмете за основу уже существующий исходный код. Разрабатывайте структуру исходного кода на основе требований к коду и ветвлению. Дополнительную информацию по этому вопросу вы найдете в статье "Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server ".
  • Шаг 1 - выбор шаблона процесса

    Продумайте, какой процесс вы хотели бы использовать для своего проекта, а затем рассмотрите возможности каждого из поставляемых с TFS шаблонов. Обращать внимание следует на описания рабочих элементов (есть ли в них все необходимые вам поля?), шаблоны документов, последовательности операций, политики возврата после правки и отчеты. В TFS включено два шаблона процессов:

  • MSF for Agile Software Development (MSF Agile) Простой шаблон процесса для небольших, срочных или неформальных проектов по разработке ПО. Он основывается на сценариях и управляемых контекстом действиях. Ориентирован на проект и членов группы.
  • MSF for CMMI® Process Improvement (MSF CMMI) Шаблон процесса для более серьезных проектов по разработке ПО. Он расширяет функциональность шаблона MSF Agile, предоставляя поддержку аудита, верификации и формальных процессов. Ориентирован на процесс, на соответствие процессу и на организацию.
  • В случае необходимости стандартные шаблоны можно настраивать, чтобы они максимально соответствовали вашим процессам. Настройке шаблонов процессов посвящен раздел "Как настроить шаблон процесса в Visual Studio Team Foundation Server ". В дальнейшем предполагается, что выбран шаблон MSF Agile.
  • Шаг 2 - создание командного проекта

    После выбора шаблона вы готовы создать новый командный проект. Выполните следующие действия:

  • Убедитесь, что Visual Studio соединена с экземпляром TFS.
  • В Team Explorer щелкните правой кнопкой мыши сервер и выберите New Team Project.
  • На первой странице мастера New Project Creation Wizard введите имя командного проекта и щелкните Next.
  • На странице Select a Process Template из раскрывающегося списка укажите шаблон процесса, выбранный на шаге 1. В нашем примере выберите шаблон MSF for Agile Software Development -v4.0 и щелкните Next.
  • На странице Specify the Settings for the Project Portal введите имя и описание портала командного проекта и щелкните Next. Указанное здесь имя используется при создании веб-сайта Microsoft Windows SharePoint® Services для портала проекта.
  • На странице Specify Source Control Settings задайте Create an empty source control folder и щелкните Next.
  • На странице Confirm Team Project Settings проверьте настройки и щелкните Finish.
  • На сервере TFS будет создан командный проект на базе шаблона процесса MSF Agile.

    Шаг 3 - создание групп доступа (при необходимости)

    Независимо от выбранного шаблона процесса в новом проекте TFS создается четыре стандартные группы. По умолчанию каждая из этих групп обладает предопределенным набором прав, определяющих, что разрешается делать ее членам. Создаются группы:

  • Project Administrator.
  • Contributor.
  • Reader.
  • Build Services.
  • В своем проекте вы вольны создать и другие группы доступа, чтобы максимально выполнить требования по безопасности конкретной организации. Создание групп доступа - эффективный способ предоставить группе пользователей в командном проекте конкретный набор полномочий. Необходимо предоставлять группе лишь минимально необходимые права доступа и вносить в нее только тех пользователей или другие группы, которым нужны эти права.

    Чтобы создать новую группу, вы должны быть членом группы Project Administrators. Быть администратором Microsoft Windows® вам не нужно.

  • В Team Explorer выберите командный проект, для которого хотите создать группу.
  • В меню Team выберите команду Team Project Settings и щелкните Group Membership.
  • В диалоговом окне Project Groups щелкните New /
  • В диалоговом окне Create New Team Foundation Server Group в поле Group name введите имя группы командного проекта.
  • В поле Description введите описание группы.
  • Щелкните OK и Close.
  • Создав группу командного проекта, предоставьте ей соответствующие права доступа и добавьте в нее членов группы. По умолчанию вновь созданная группа командного проекта не получает никаких разрешений.

    Шаг 4 - добавление членов команды в Team Foundation Server

    На этом этапе определяются ресурсы, которые будут работать над проектом, и их роли. Затем члены команды добавляются в TFS. Пользователей можно добавлять в существующие группы проекта или группы уровня сервера. Также вы должны добавить пользователей во вновь созданные вами группы. Для этого вы должны быть членом группы Team Foundation Administrators.

  • Выберите нужный командный проект в Team Explorer.
  • В меню Team выберите команду Team Project Settings и щелкните Group Membership. Чтобы добавить пользователей в группу уровня сервера, выберите команду Team Foundation Server Settings и щелкните Group Membership.
  • В диалоговом окне Project Groups выберите группу, в которую хотите добавлять пользователей, и щелкните Properties.
  • В диалоговом окне Team Foundation Server Group Properties на вкладке Members в разделе Add member выберите Windows User or Group.
  • Щелкните Add.
  • В диалоговом окне Select Users or Groups в разделе Enter the object names to select введите имя домена и имена пользователей, которого хотите добавить, в формате домен\имя пользователя. Чтобы добавить сразу несколько пользователей, введите их имена через точку с запятой.
  • Дважды щелкните OK и щелкните Close.
  • Шаг 5 - определение итерационного цикла

    Итерации ( iteration ) - это промежутки времени фиксированной длины, для которых вы продумываете, планируете и осуществляете работу. Все компоненты цикла разработки ПО, начиная с определения требований и заканчивая анализом, проектированием, разработкой, написанием кода и тестированием, группируются в итерации, продолжительность которых обычно составляет от 2 до 6 недель.

    На этом этапе вы определяете итерационный цикл своего проекта. При этом необходимо принять во внимание следующие соображения:

  • Итерационный цикл должен быть достаточно продолжительным, чтобы члены команды имели возможность выполнить существенный объем работ, и должен охватывать, по крайней мере, несколько сценариев.
  • Итерационный цикл должен быть достаточно коротким. Это обеспечивает его гибкость, позволяя своевременно вносить изменения и иначе расставлять приоритеты.
  • Продолжительность итерационного цикла зависит от размера и сложности проекта. На практике для большинства проектов подходит двухнедельный итерационный цикл.
  • Шаг 6 - описание сценариев проекта в TFS

    Описание сценария проекта в TFS позволяет лучше спланировать ход проекта и отслеживать его выполнение.

  • На основании данных, предоставляемых различными заинтересованными сторонами, включая заказчиков, бизнес-аналитиков, конечных пользователей и руководителей, ответственных за выпуск продукта, создайте перечень задач по проекту ( project back log, PBL ). Его обычно составляют в Microsoft Office Word.
  • Используйте PBL в качестве входных данных для выработки различных сценариев проекта.
  • Можно выделить все сценарии до начала первой итерации или создавать их по мере продвижения проекта. Чтобы получить полную картину проекта и облегчить контроль его выполнения, рекомендуется описывать все сценарии заранее.
  • Создание сценария в проекте на основе шаблона процесса MSF Agile

  • В Team Explorer разверните узел проекта и щелкните правой кнопкой папку Work Items.
  • Выберите Add Work Item и щелкните Scenario.
  • На странице New Scenario введите данные сценария.
  • Сохраните новый сценарий.
  • Повторите предыдущие шаги для всех сценариев проекта.
  • Шаг 7 - выбор сценариев для итерации

    Теперь описанные сценарии нужно распределить по итерациям. Этот этап повторяется на каждом итерационном цикле.

  • Исходя из данных, полученных от заинтересованных сторон, и приоритетности компонентов, выберите сценарии, которые будут выполняться в ходе данной итерации.
  • Назначьте эти сценарии итерации.
  • Извлечение рабочих элементов и их связывание с конкретной итерацией

  • Разверните папки Work Items и Team Queries, а затем дважды щелкните запрос All Scenarios, чтобы вывести на экран все сценарии проекта.
  • Щелкните дважды сценарий, над которым хотите работать в текущей итерации.
  • В поле Iteration введите путь текущей итерации и щелкните значок Save.
  • Повторите эти шаги для всех выявленных сценариев.
  • Шаг 8 - определение требований QoS

    На этом этапе для каждого из сценариев, реализуемых во время данного итерационного цикла, определяются требования QoS. Этот этап повторяется на каждом итерационном цикле. Это помогает определить критерий приемки для сценария. Требования QoS формулируются на основе целей, требований к проекту и спецификаций, если таковые имеются.

  • Щелкните правой кнопкой папку Work Items проекта и выберите Add Work Item. Затем щелкните Quality of Service Requirements.
  • На странице New Quality of Service Requirements введите следующую информацию:
  • Присвойте полю Type нужное значение: Performance, Scalability, Stress или Security.
  • Назначьте значение Iteration текущего итерационного цикла.
  • На вкладке Links свяжите требование QoS с конкретным сценарием, чтобы упростить контроль.
  • Сохраните требование QoS.
  • Создайте по одному требованию QoS для каждой дисциплины или типа требования QoS. Помните, что у каждого сценария может быть несколько требований QoS.
  • Убедитесь, что создали требования QoS для всех сценариев, реализуемых в течение данного итерационного цикла.

    Важно! Позже требования QoS могут быть разложены на задачи тестирования.

  • Шаг 9 - планирование итерации

    Планирование итерации заключается в разделении на задачи сценариев, требований QoS и других рабочих элементов, в предварительной оценке времени, необходимого для выполнения каждой задачи, и в распределении задач между членами команды. Этот этап повторяется на каждом итерационном цикле.

    Задачи разработки

  • Разбейте выбранные сценарии на уровни разработчиков.
  • Разделите уровни разработчиков на задачи разработки.
  • Зафиксируйте задачи разработки в TFS как рабочие элементы Task:
  • В Team Explorer в каталоге проекта щелкните правой кнопкой папку Work Items, выберите Add Work Item и щелкните Task.
  • На странице New Task введите следующие данные:
  • Присвойте полю Discipline значение Development.
  • Задайте в качестве Iteration текущий итерационный цикл.
  • На вкладке Links свяжите задачу с конкретным сценарием для упрощения контроля.
  • На вкладке New Task Page помимо описания задайте критерий приемки задачи, по которому можно будет судить о ее успешном завершении.
  • В поле Assigned to задайте разработчика, который будет заниматься данной задачей.
  • Сохраните новую задачу.
  • Повторите перечисленные шаги для всех задач.
  • Повторите эти шаги для всех сценариев итерации.
  • Задачи тестирования

  • Разбейте требования QoS для данного сценария на сценарии тестирования.
  • Разделите сценарии тестирования на задачи тестирования и зафиксируйте их в TFS как рабочие элементы Task:
  • В Team Explorer в каталоге проекта щелкните правой кнопкой папку Work Items, выберите Add Work Item и щелкните Task.
  • На странице New Task введите следующие данные:
  • Присвойте полю Discipline значение Test.
  • Задайте в качестве Iteration текущий итерационный цикл.
  • На вкладке Links свяжите задачу с конкретными требованиями QoS для упрощения контроля.
  • На вкладке New Task Page помимо описания задайте критерий приемки задачи, по которому можно будет судить о ее успешном завершении.
  • В поле Assigned to задайте тестировщика, который будет заниматься данной задачей.
  • Сохраните новую задачу.
  • Повторите перечисленные шаги для всех задач.
  • Повторите эти шаги для всех требований QoS итерации.
  • Прочее

  • Опишите задачи итерации, для других дисциплин, например, Architecture, Release Management, Project Management, Requirements, которые нуждаются в контроле.
  • Свяжите каждую из этих задач с соответствующим сценарием.
  • В крупных проектах с огромным количеством рабочих элементов используйте возможность интеграции с .

    В крупных проектах, где задействовано множество ресурсов, используйте возможность интеграции с .

    Шаг 10 - отслеживание процесса разработки

    В каждый шаблон процесса включен набор отчетов, которые можно использовать для контроля за состоянием проекта. Ниже описаны стандартные отчеты.

    Ошибки

    Отчеты об ошибках позволяют следить за тем, какие типы ошибок возникают, как они устраняются, какие возникают тенденции. К вашим услугам следующие отчеты об ошибках:

  • Bugs by Priority Правильно ли выявлены ошибки? В этом отчете показывается соотношение выявленных высокоприоритетных ошибок и ошибок с низким приоритетом. Он доступен в обоих стандартных шаблонах.
  • Bug Rates Насколько эффективно происходит выявление, исправление и закрытие ошибок? В этом отчете показывается общая тенденция по выявлению новых ошибок, приводятся списки незакрытых ошибок и сведения по исправлению ошибок. Он доступен в обоих стандартных шаблонах.
  • Управление выпусками

    Отчеты по управлению выпусками позволяют судить, насколько разрабатываемое ПО готово к выпуску. К вашим услугам следующие отчеты:

  • Actual Quality versus Planned Velocity Сколько сценариев можно завершить, прежде чем качество станет неприемлемым? На каждой итерации этот отчет представляет соотношение примерного объема проекта и общего качества. Отчет доступен в обоих стандартных шаблонах.
  • Builds Каково качество сборки? В этом отчете содержится список имеющихся сборок, а также их качество и другая подробная информация. Отчет доступен в шаблоне MSF CMMI.
  • Quality Indicators Каково качество ПО? В этом отчете собраны результаты тестов, ошибки, сведения о покрытии кода и его изменчивости. Отчет доступен в обоих стандартных шаблонах.
  • Velocity Насколько быстро команда справляется с работой? Из этого отчета вы узнаете, насколько своевременно команда выполняет плановые задания и как темп ее работы меняется изо дня в день. Отчет доступен в обоих стандартных шаблонах.
  • Scenario Details Для каких сценариев мы готовим приложение? В отчете содержатся сведения обо всех сценариях, включая информацию о завершенности, рисках и испытаниях.
  • Тестирование

    Отчеты о тестировании позволяют следить за эффективностью испытаний. Доступны следующие отчеты о тестировании:

  • Regressions Какие тесты ранее выполнялись, а теперь - нет? Их список содержится в этом отчете. Отчет доступен в шаблоне MSF CMMI.
  • Requirements Test History Насколько хорошо протестированы сценарии и требования? В этом отчете показаны результаты испытаний определенных сценариев и требований. Отчет доступен в шаблоне MSF CMMI.
  • Test Failure Without Active Bug Каждый ли из известных дефектов документирован как ошибка? В этом отчете показаны неудачные испытания, с которыми не связаны открытые ошибки. Отчет доступен в шаблоне MSF CMMI.
  • Test Passing With Open Bug Своевременно ли обновляется список ошибок и согласуется ли он с качеством приложения? Отчет отображает список устаревших ошибок, тесты для которых теперь выполняются. Доступен в шаблоне MSF CMMI.
  • Load Test Summary К каким выводам о производительности приложения привели испытания под нагрузкой? В отчете содержатся результаты нагрузочного тестирования. Отчет доступен в шаблоне MSF Agile
  • Рабочие элементы

    Отчеты о рабочих элементах позволяют оценивать текущее состояние проекта и его продвижение. Доступны следующие отчеты о рабочих элементах:

  • Open Issues and Blocked Work Items Trend Сколько у вас осталось неразрешенных проблем? В отчете перечислены открытые проблемы и наметившиеся тенденции к их разрешению. Отчет доступен в шаблоне MSF CMMI.
  • Reactivations Сколько рабочих элементов было повторно активировано? В отчете указаны рабочие элементы, которые были преждевременно закрыты или помечены как разрешенные. Отчет доступен в обоих стандартных шаблонах.
  • Related Work Items Как одни рабочие элементы зависят от других рабочих элементов? В отчете отображается список рабочих элементов, которые связана с другими рабочими элементами, что позволяет прослеживать зависимости между ними. Отчет доступен в шаблоне MSF CMMI.
  • Remaining Work Сколько осталось выполнить работ и когда они будут завершены? В отчете отражена незавершенная работа, а также разрешенная и закрытая работа. Выявив тенденции, вы определите время, к которому код будет завершен. Отчет доступен в обоих стандартных шаблонах.
  • Triage Какие рабочие элементы нуждаются в уточнении? В этом отчете показаны рабочие элементы, все еще имеющие статус предложения. Отчет доступен в шаблоне MSF CMMI.
  • Unplanned Work Сколько выполняется внеплановых работ? В отчете полная работа сопоставляется с уже выполненной с разделением плановых и внеплановых задач. Отчет доступен в обоих стандартных шаблонах.
  • Work Items Какие рабочие элементы активны? В отчете перечислены все активные рабочие элементы. Отчет доступен в шаблоне MSF CMMI.
  • Work Items by Owner Сколько работы назначено каждому члену команды? В этом отчете рабочие элементы отсортированы по владельцам.
  • Отчет доступен в шаблоне MSF CMMI.

  • Work Items by State Сколько имеется активных, разрешенных и закрытых рабочих элементов? В этом отчете рабочие элементы отсортированы по состоянию. Отчет доступен в шаблоне MSF CMMI.
  • Рекомендации по работе с областями и итерациями

    При работе с областями и итерациями необходимо учитывать следующие соображения:

  • Области используются для организации работы в командном проекте. Например, работу по проекту можно разбить на области UI (пользовательский интерфейс), Application (приложение) и Database (база данных), а затем распределить по этим областям сценарии и рабочие элементы. С помощью областей рабочие элементы группируются для запросов и отчетов. Можно начать с одной корневой области, а потом в ходе разработки проекта по мере надобности создавать дополнительные области.
  • С помощью итераций мы определяем, сколько раз в ходе разработки приложения команда будет повторять определенный набор основных действий (планирование, разработка, тестирование). Итерации используются для группировки рабочих элементов и тем самым оказывают влияние на создание рабочих элементов, запросов к рабочим элементам и отчетов.
  • Дополнительные ресурсы

  • Дополнительную информацию об использовании электронных таблиц .
  • Дополнительную информацию об использовании .
  • Как перенести исходный код из Visual Source Safe в Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual SourceSafe® (VSS) .
  • Описание

    В этой статье подробно разбирается процесс переноса исходного кода из VSS в TFS с использованием VSS Converter. Конвертер позволяет переносить файлы, папки, историю версий, метки и пользовательскую информацию из базы данных VSS в базу данных системы управления исходным кодом TFS. Прежде чем выполнять перенос исходного кода, необходимо создать резервную копию и подготовить исходную базу данных VSS.

    Содержание

  • Задачи.
  • Обзор.
  • Прежде всего.
  • Порядок операций.
  • Шаг 1 - создание резервной копии базы данных VSS.
  • Шаг 2 - анализ базы данных VSS с точки зрения целостности данных.
  • Шаг 3 - анализ проектов в VSS.
  • Шаг 4 - подготовка к переносу проектов.
  • Шаг 5 - перенос проектов.
  • Дополнительные рекомендации.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться анализировать проекты VSS и выполнять подготовку к переносу.
  • Перенос проектов VSS в TFS.
  • Обзор

    В Team Foundation Server включены инструменты, облегчающие перенос исходного кода из базы данных Visual Source Safe (VSS) в систему управления исходным кодом TFS. В частности, в TFS предлагается инструмент VSS Converter, позволяющий переносить файлы, папки, историю версий, метки и пользовательскую информацию. VSS Converte r используется в два этапа: сначала для выявления потенциальных проблем с его помощью выполняется анализ существующей базы данных VSS, а затем выполняется фактический перенос.

    Следуя рекомендациям из этой статьи, вы успешно перенесете свой исходный код. Основные проблемы, которые могут при этом возникнуть, обусловлены некоторыми различиями процесса управления исходным кодом в TFS по сравнению с VSS. Например, в TFS не поддерживается совместное использование файлов. При переносе общий файл копируется в целевую папку в том состоянии, в котором он был на момент начала совместного использования. Ветвление в VSS осуществляется через совместное использование файлов, поэтому перенос ветвей также заключается в копировании файлов в целевую папку системы управления исходным кодом TFS. Поскольку TFS/ не поддерживает фиксацию версий, инструмент VSSConver-ter маркирует все файлы, версии которых ранее были фиксированы в базе данных VSS, меткой "PINNED", чтобы их можно было найти в системе управления исходным кодом TFS.

    Прежде всего

    Чтобы успешно выполнить все действия, описанные в этой статье, необходимо следующее:

  • Вы должны зарегистрироваться под учетной записью, входящей в группу Team Foundation Administrators.
  • На компьютере, где работает конвертер, должен быть установлен клиент VSS 2005. Если используется более ранняя версия VSS, работа конвертера завершается с выводом предупреждения. Также обязательно используйте команду Analyze клиента VSS 2005, поскольку она способна находить проблемы, которые предыдущими версиями не определялись. База данных VSS необязательно должна быть базой данных именно версии VSS 2005.
  • На компьютере, где выполняется конвертер, должен быть установлен и активирован Microsoft SQL Server™ 2005 Express Edition. Во время преобразования конвертер использует локальный экземпляр SQL Server как временную базу данных. SQL Server Express Edition устанавливается по умолчанию с Visual Studio 2005.
  • Используйте имя домена TFS и список имен пользователей TFS так, как они определены в Microsoft Active Directory®.
  • Заранее узнайте имя пользователя и пароль администратора VSS, а также имя пользователя и пароль администратора проекта TFS.
  • Порядок операций

  • Шаг 1 - создание резервной копии базы данных VSS.
  • Шаг 2 - анализ базы данных VSS с точки зрения целостности данных.
  • Шаг 3 - анализ проектов в VSS.
  • Шаг 4 - подготовка к переносу проектов.
  • Шаг 5 - перенос проектов.
  • Шаг 1 - создание резервной копии базы данных VSS

    Прежде чем выполнять перенос, создайте резервную копию базы данных VSS, которую собираетесь переносить.

  • Попросите всех пользователей возвратить редактируемые ими файлы и выйти из базы данных VSS. Попросите пользователей закрыть Visual Studio Integrated Development Environment (IDE) и VSS Explorer.

    Важно!Извлеченные для редактирования файлы не будут перенесены в TFS.

  • Убедитесь, что никто не подключен к базе данных.
  • Убедитесь, что для базы данных не запланированы никакие задачи анализа.
  • Скопируйте следующие подпапки папки установки VSS в папку резервного копирования: \DATA \Temp \USERS
  • Скопируйте в папку резервного копирования следующие файлы: User.txt Srcsafe.ini
  • По умолчанию эти файлы размещаются в папке \Program Files\Microsoft Visual Studio\VSS.

    Шаг 2 - анализ базы данных VSS с точки зрения целостности данных

    На данном этапе с помощью утилиты Visual SourceSafe Analyze выявляются и исправляются проблемы целостности в базе данных.

  • Откройте окно командной строки и введите команду Analyze.exe, чтобы выявить повреждения или ошибки в базе данных: analyze "<sourcesafe data directory>" Для автоматического выполнения используйте параметр -I.
  • Если у вас возникают проблемы с правами доступа, ошибки "unable to checkout files" (невозможно извлечь файлы), "losing checkout status" (потеря статуса "извлечен для редактирования") или любые другие ошибки со ссылками на файлы Status.dat или Rights.dat, выполните программу Ddconv.exe или Ddconvw.exe. Они обновляют формат базы данных VSS. По умолчанию эти программы установлены в подпапке \Admin.
  • Шаг 3 - анализ проектов в VSS

    Теперь выберите проекты, которые будете переносить, и запустите инструмент командной строки TFS VSSConverter.exe, чтобы выявить в базе данных VSS потенциальные проблемы, способные вызвать трудности при миграции кода.

  • Создайте XML -файл настроек, назвав его, например, ConversionSettings. xml:

    <?xml version="1.0" encoding="utf-8"?> 
     <SourceControlConverter> <ConverterSpecificSetting> 
     <Source name="VSS">
       <VSSDatabase name="c:\VSSDatabase"> </VSSDatabase> </Source>   
       <ProjectMap>
         <Project Source="$/MyFirstProject"></Project> 
       <Project Source="$/MySecondProject"></Project> 
      </ProjectMap> </ConverterSpecificSetting> 
    </SourceControlConverter>

    В этом примере MyFirstProject и MySecondProject - имена папок проектов в VSS, которые подлежат переносу. Чтобы перенести всю базу данных VSS, используйте <Project Source="$/"></Project> .

  • Чтобы проанализировать проекты, запустите VSSConverter.exe с параметром Analyze: VSSConverter Analyze ConversionSettings.xml

    По запросу введите пароль администратора Visual SourceSafe.

  • Конвертер создает файл VSSAnalysisReport.xml с результатами анализа. Изучите полученный отчет и выявите возможные ошибки преобразования.
  • Сопоставьте пользователей VSS с пользователями TFS. Инструмент VSSConverter создает файл UserMap.xml, содержащий список всех пользователей VSS, которые хотя бы один раз обращались к базе данных VSS. Отредактируйте файл UserMap.xml, добавляя соответствующие имена пользователей TFS (учетные записи Windows). Имена пользователей должны быть заданы с включением домена (Домен\ИмяПользователя). Ниже показан пример файла Usermap.xml. В атрибуте From содержатся учетные записи пользователей VSS, а в атрибуте To указаны соответствующие им имена пользователей TFS.

    <?xml version="1.0" encoding="utf-8" ?>
    <UserMappings xmlns:xsi="
      http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--

    Этот файл автоматически создается VSS Converter. Он может использоваться для сопоставления пользователя VSS с пользователем Team Foundation. Например,

    <UserMap From="Jane" 
    To="MyDomain\Janep"></UserMap> 
    Это сопоставление приводит к тому, что все действия VSS-пользователя "Jane"
    при переносе будут отнесены к пользователю Team Foundation 
    "MyDomain\Janep". -->
     <UserMap From="ADMIN" To="Contoso\Administrator" /> 
      <UserMap From="Dave" To="Contoso\DaveM" /> 
       <UserMap From="Chris" To="Contoso\ChrisP" /> 
         <UserMap From="John" To="Contoso\JohnR" /> 
     </UserMappings>
  • Шаг 4 - подготовка к переносу проектов

    На данном этапе с помощью инструмента VSSConverter.exe выполняется перенос проектов VSS.

  • Измените файл ConversionSettings.xml, созданный на шаге 3, добавив в него новый элемент <Settings> с тегом <TeamFoundationServer> :

    <SourceControlConverter> 
     <ConverterSpecificSetting> …
       </ConverterSpecificSetting> 
        <Settings>
       <TeamFoundationServer name="YourTFSServerName"
         port="PortNumber" protocol="http"> 
       </TeamFoundationServer> 
     </Settings> … 
     </SourceControlConverter>

    Вставьте элемент <Settings> сразу после </ConverterSpecificSettings> , как дочерний элемент элемента <SourceControlConverter> .

  • Измените файл ConversionSettings.xml, добавляя атрибуты Destination в элементы <Project> , как показано ниже. В качестве значений атрибутов Destination задавайте пути к папкам проекта TFS Team, куда вы хотите перенести файлы.

    <?xml version="1.0" encoding="utf-8"?> 
     <SourceControlConverter> <ConverterSpecificSetting> 
      <Source name="VSS">
       <VSSDatabase name="c:\VSSDatabase"> 
        </VSSDatabase> 
        </Source> 
        <ProjectMap>
       <Project Source="$/MyFirstProject"
         Destination="$/MyTeam_ProjectOne"> 
        </Project> 
       <Project Source="$/MySecondProject"
         Destination="$/MyTeam_ProjectTwo"> 
       </Project> </ProjectMap> 
      </ConverterSpecificSetting> 
      <Settings>
       <TeamFoundationServer name="YourTFSServerName"
          port="PortNumber" protocol="http"> 
      </TeamFoundationServer> </Settings> 
    </SourceControlConverter>
  • В разделе <ProjectMap> для каждой переносимой папки VSS вместо MyFirstProject укажите исходные папки VSS и вместо MyTeamProject-One - заданные папки системы управления исходным кодом TFS. Включите запись <Project> для всех проектов, которые хотите переносить.

    Шаг 5 - перенос проектов

    Скопируйте базу данных VSS в локальную папку (например, C:\VSSData-bases ) на компьютере, на котором хотите выполнить анализ и перенос. Базу данных VSS можно перенести и в совместно используемую папку на удаленном компьютере, но миграция в этом случае займет намного больше времени.

  • В командном окне введите: VSSConverter Migrate Conversionsettings.xml
  • Введите Y, чтобы подтвердить перенос. По запросу введите пароль пользователя с правами администратора Visual SourceSafe.
  • Дополнительные рекомендации

    Если в VSS применялись совместное использование файлов, ветвление или фиксация версий файлов, необходимо учитывать следующие соображения:

  • Совместное использование Team Foundation Server не поддерживает совместного использования файлов. Перенос таких файлов осуществляется путем копирования версии файла на момент начала его совместного использования. Все последующие изменения, вносимые в совместно используемый файл, реплицируются как в общую, так и в исходную копию.
  • Ветвление Поскольку ветвление в VSS осуществляется посредством совместного использования файлов, перенос ветвей приводит к тому, что файлы копируются в заданную папку системы управления исходным кодом TFS. После ветвления изменения, вносимые в любую из ветвей, переносятся в соответствующую копию в системе управления исходным кодом TFS.
  • Фиксация версии Team Foundation Server не поддерживает фиксацию версий файлов. Чтобы найти в системе управления исходным кодом TFS элементы, версии которых ранее были фиксированы в базе данных VSS, инструмент VSSConverter маркирует такие файлы меткой "PINNED" . Для оптимизации производительности (это особенно важно для больших БД VSS ) выполняйте преобразования на сервере TFS.
  • Дополнительные ресурсы

  • Дополнительную информацию о подготовке к переносу вы найдете по адресу http://msdn2.microsoft.com/en-us/library/ms181246(en-us,vs.80).aspx.
  • О том, как выполнять перенос, читайте по адресу http://msdn2.microsoft. com/en-us/library/ms181247(VS.80).aspx.
  • Дополнительную информацию об ограничениях конвертера .
  • Инструмент .
  • Команда migrate инструмента .
  • Как выполнить слияние без основы в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В этой статье подробно разбирается процесс слияния двух ветвей, которые никак не связаны друг с другом. Процесс слияния элементов, не являющихся непосредственными ответвлениями друг друга, называется слиянием без общей основы ( baseless nerge ). Выполняется такое слияние с помощью команды Tf merge. Осуществить слияния без основы из интерфейса Visual Studio невозможно.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - оценка необходимости выполнения слияния без основы.
  • Шаг 2 - выполнение слияния без основы с использованием Tf.exe.
  • Шаг 3 - разрешение конфликтов, возникших при слиянии.
  • Шаг 4 - возврат изменений, внесенных в результате слияния, в систему управления исходным кодом.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться анализировать необходимость в слиянии без основы.
  • Выполнить слияние без основы и разрешить возникшие в результате него конфликты.
  • Обзор

    Процесс слияния элементов, не являющихся непосредственными ответвлениями друг друга, называется слиянием без основы. Примером такого слияния может быть перенос изменений между двумя ветвями выпускаемых версий, являющимися ветвями одного уровня, без переноса изменений в родительскую ветвь. Слияние без основы может выполняться только посредством команды Tf merge. Его невозможно выполнить из интерфейса Visual Studio.

    При слиянии без основы TFS не располагает никакой информацией об отношениях между файлами ветвей. Например, если файл был переименован, это будет рассматриваться как удаление файла и добавление в ветвь нового файла. Поэтому при таком слиянии приходится разрешать больше конфликтов, чем при обычном слиянии. Однако это делается только один раз. После первого слияния без основы TFS сохраняет историю слияния и устанавливает отношения между папками и файлами.

    Порядок операций

  • Шаг 1 - оценка необходимости выполнения слияния без основы.
  • Шаг 2 - выполнение слияния без основы с использованием Tf.exe.
  • Шаг 3 - разрешение конфликтов, возникших при слиянии.
  • Шаг 4 - возврат изменений, внесенных в результате слияния, в систему управления исходным кодом.
  • Шаг 1 - оценка необходимости выполнения слияния без основы

    На данном этапе рассматриваются ветви и элементы, подлежащие слиянию, и принимается решение о том, следует ли выполнять слияние без основы или можно обойтись обычным слиянием.

    Если вы являетесь владельцем или администратором командного проекта, отношения между ветвями или элементами вам известны. Из Visual Studio можно выполнять слияние только тех ветвей, между которыми установлено отношение "родитель-потомок". Если в проекте имеются ветви или элементы, между которыми нет таких отношений, придется выполнять слияние без основы.

    Если вам не известны отношения между ветвями или элементами, необходимость в выполнении слияния без основы можно установить следующим образом:

  • Откройте Source Code Explorer.
  • Щелкните правой кнопкой мыши папку ветви и щелкните Merge.
  • В диалоговом окне Source Control Merge Wizard щелкните раскрывающийся список Target branch. Отсутствие в этом списке ветви, для которой вы хотите выполнять слияние, указывает, что между данными ветвями нет отношения слияния. В этом случае необходимо выполнять слияние без основы.
  • Шаг 2 - выполнение слияния без основы с использованием Tf.exe

    Чтобы выполнить слияние без основы с помощью инструмента командной строки Tf.exe, выполните следующие действия:

  • Подготовьте рабочую область, выполнив операцию Get Latest для подлежащих слиянию ветвей:
  • Откройте Source Code Explorer.
  • Щелкните правой кнопкой мыши папку первой ветви, участвующей в слиянии, и выберите команду Get Latest Version.
  • Повторите это действие для второй ветви, участвующей в слиянии.
  • Если сопоставление рабочей области не задано, Visual Studio предложит выбрать папку на локальном диске

    .
  • Откройте окно командной строки Visual Studio.
  • Введите в окне командной строки следующую команду:

    Tf merge /baseless <исходный путь> <целевой путь> /recursive

    Например:

    Tf merge /baseless c:\data\proj1 c:\data proj2 /recursive

    Если необходимо выполнить слияние конкретных версий изменений, используйте параметр /version:

    tf merge /baseless <исходный путь> 
      <целевой путь> / recursive / version:
       < набор изменений, из которого переносятся изменения>~
         <набор изменений, в который переносятся изменения>

    Например:

    tf merge /baseless c:\data\proj1 c:\data\proj2 /recursive /version: C123~C125
  • Шаг 3 - разрешение конфликтов, возникших при слиянии

    При слиянии без основы часто возникают конфликты. После выполнения команды Tf.exe на экран выводится диалоговое окно Resolve Conflicts со списком файлов, в которых возникли конфликты.

  • Выберите все файлы и щелкните Resolve.
  • В диалоговом окне Resolve version conflict выполните следующие действия:
  • Если содержимое файлов не изменялось, выберите параметр Keep changes in the target branch и щелкните OK.
  • Если содержимое файлов изменялось, выберите параметр Merge changes in merge tool и щелкните OK.
  • В инструменте слияния выбирайте конфликтные области в верхнем окне или вводите изменения в нижнем окне, обрабатывая таким образом каждую из строк, в которых возникли конфликты.
  • Разрешив все конфликты, щелкните OK в инструменте слияния.
  • Щелкните Close.
  • Шаг 4 - возврат изменений, внесенных в результате слияния, в систему управления исходным кодом

    На этом этапе изменения, внесенные в результате слияния без основы, возвращаются в систему управления исходным кодом.

  • Откройте Source Code Explorer.
  • Щелкните правой кнопкой целевую папку, в которую были перенесены изменения, и выберите команду Check-in pending changes.
  • В диалоговом окне Check-In Source Files выделите все файлы, которые подлежат возврату.
  • Щелкните Check In.
  • Дополнительные ресурсы

  • Подробнее о слиянии папок читайте в статье "How to: Merge Files and Folders" по адресу http://msdn2.microsoft.com/en-us/library/ms181428(VS.80). aspx.
  • Дополнительную информацию о слиянии без основы вы найдете в разделе "Merge Command" статьи по адресу http://msdn2.microsoft.com/en-us/ library/bd6dxhfy(VS.80).aspx.
  • Как настроить непрерывную интеграцию в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В Visual Studio 2005 Team Foundation Server нет стандартного решения для непрерывной интеграции ( Continuous Integration, CI ), но имеется вся инфраструктура, необходимая для реализации собственного решения. В этой статье подробно разбирается процесс настройки сборки CI в TFS с помощью решения, предоставленного группой VSTS. Это решение устанавливает веб-службу, выполняющуюся от имени учетной записи с правом доступа к серверу TFS. Благодаря подписке на событие CheckinEvent эта веб-служба будет запускать сборку при каждом возврате правок.

    Примечание Пользователи TFS 2008 могут настроить процесс непрерывной интеграции прямо из Visual Studio. Щелкните правой кнопкой описание типа сборки в узле Builds дерева Team Explorer, выберите команду Edit Build Definition, щелкните Trigger и активируйте сборку при возврате правок.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - установка решения непрерывной интеграции.
  • Шаг 3 - настройка решения непрерывной интеграции.
  • Шаг 4 - подписка на событие CheckinEvent.
  • Шаг 5 - тестирование непрерывной интеграции.
  • Шаг 6 - настройка уведомлений по электронной почте.
  • Дополнительные ресурсы.
  • Задачи

  • Познакомиться с непрерывной интеграцией.
  • Создать сборку непрерывной интеграции при помощи TFSBuild и решения группы VSTS.
  • Обзор

    Для повышения качества кода разработчикам необходима постоянная обратная связь по качеству каждого возвращаемого ими изменения. Это особенно важно, когда изменения приводят к сбою сборки и ошибкам компиляции. Чем раньше разработчик получит отзыв, тем быстрее он исправит ошибки и устранит препятствие в работе других разработчиков и тестиров-щиков. В результате повысится производительность всех членов команды.

    В такой ситуации особую ценность приобретает непрерывная интеграция - процесс создания сборок при каждом возврате изменений в систему управления исходным кодом. Сборка непрерывной интеграцией обеспечивает максимально быструю обратную связь. Для еще большей эффективности работы в сборки CI можно ввести пороги качества.

    Порядок операций

  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - установка решения непрерывной интеграции.
  • Шаг 3 - настройка решения непрерывной интеграции.
  • Шаг 4 - подписка на событие CheckinEvent.
  • Шаг 5 - тестирование непрерывной интеграции.
  • Шаг 6 - настройка уведомлений по электронной почте.
  • Прежде всего

    Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.

    Шаг 1 - создание и тестирование сборки

    На начальном этапе мы создадим тестовую сборку и проверим возможность ее выполнения из Visual Studio. Если сборку выполнить не удается, перед переходом к следующему этапу необходимо исправить в ней ошибки.

  • Создайте для тестирования сценария сборки проект Microsoft Windows® Forms.
  • Убедитесь, что сборка проекта выполняется правильно.
  • Верните проект в систему управления исходным кодом.
  • Создайте сценарий командной сборки:
  • В Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.
  • Заполните страницы мастера Team Build Type Creation Wizard.
  • Проверьте работоспособность сценария командной сборки:
  • В Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.
  • В контекстном меню выберите команду Build Team Project <Имя вашего сценария сборки>.
  • Убедитесь, что тип выбран правильно, и щелкните Build.
  • Просмотрите результаты сборки и убедитесь, что в процессе сборки не возникло ошибок.
  • Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.

    Шаг 2 - установка решения непрерывной интеграции

    Установите решение непрерывной интеграции, предоставленное командой .

  • Скачайте решение из источника, расположенного по адресу http://down-load.microsoft.com/download/6/5/e/65e300ce-22fc-4988-97de-0e81d3de 2482 ci.msi и установите его на своем сервере TFS.
  • На второй странице мастера установки убедитесь, что выбран сайт "Team Foundation Server".
  • При установке в корневой папке сервера уровня приложений TFS создается виртуальный каталог. Это должен быть веб-сайт Internet Information Services (IIS) с именем Team Foundation Server, связанный с портом 8080.

    Шаг 3 - настройка решения непрерывной интеграции

    На данном этапе выполняется настройка CI: задается проект, сборка которого будет выполняться непрерывно, сервер сборки и используемый тип сборки.

    Чтобы приложение, содержащееся в виртуальном корневом каталоге, выполнялось в пуле приложений TfsAppPool, выполните следующие действия:

  • Раскройте меню Start, Administrative Tools и выберите команду IIS Manager.
  • Разверните веб-сайт Team Foundation Server.
  • Щелкните правой кнопкой CI Web Application и убедитесь, что для параметра Application Pool задано значение TfsAppPool.
  • Чтобы настроить процесс непрерывной интеграции, выполните следующие действия:

  • Откройте файл Web.config для CI Web Application, размещенный в папке C:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\ Web Services\CI\.
  • Задайте следующие свойства в новом разделе, разместив его под разделом <appsettings> :
  • TeamFoundationServer - URL уровня приложений, задается в формате http://компьютер:8080.
  • TeamProject - командный проект, для которого активируется непрерывная интеграция.
  • BuildType - тип сборки, который должен использоваться при непрерывной интеграции. Обычно сценарий включает только саму сборку, но сюда можно добавить также базовое тестирование и статический анализ.
  • Build Machine - необязательный параметр, используется для переопределения сервера сборки, заданного в типе сценария сборки по умолчанию.
  • Ниже приведен пример настроек:

    …
    <add key="1" value="TeamServer=http://TFSRTM:8080;TeamProjectName=Adventure
    Works;BuildType=Test Build"/>
    …

    Шаг 4 - подписка на событие CheckinEvent

    Подпишитесь на событие CheckinEvent, используя инструмент bisubscribe, поставляемый с TFS.

  • Откройте окно командной строки и перейдите в папку C:\Program Files\ Microsoft Visual Studio 2005 Team Foundation Server\TF Setup\
  • Выполните команду: Bissubscribe /eventType CheckinEvent /address http://TFSRTM:8080/ ci/notify.asmx /deliveryType Soap /domain http://TFSRTM:8080
  • Чтобы убедиться, что подписка выполнена, сделайте следующее:
  • Откройте Microsoft SQL Server™ Management Studio.
  • Откройте базу данных tfsIntegration.
  • Откройте таблицу tbl_subscription.
  • В этой таблице содержатся записи для всех событий, на которые вы подписаны. Там должна быть и запись о том, что решение CI подписано на событие CheckinEvent. В случае необходимости вы вольны отказаться от подписки на любое из зарегистрированных событий, удалив соответствующую запись из таблицы.

    Шаг 5 - тестирование непрерывной интеграции

    Теперь нужно проверить правильность выполнения CI -сборки.

  • Откройте созданное на шаге 1 приложение Windows Forms.
  • Внесите в код какие-нибудь незначительные изменения, которые гарантированно не вызовут сбой сборки.
  • Возвратите внесенные изменения в систему управления исходным кодом.
  • Если у вас есть доступ к компьютеру, на котором выполняется сборка, откройте Диспетчер задач ( Task Manager ) и проверьте степень загрузки центрального процессора этого компьютера. Она должна возрастать после возврата изменений, что свидетельствует о выполнении сборки. В списке процессов должно быть видно, что центральный процессор используется процессами msbuild, csc и (или) aspnet_compiler.
  • Дайте сборке завершиться, а затем в Team Explorer щелкните дважды All Build Types и найдите свою сборку.
  • Устранение неисправностей

    Если сборки нет в списке, выполните следующие действия:

  • Убедитесь, что правильно подписались на событие. Подробнее об этом - в пункте 3 предыдущего шага.
  • Убедитесь, что правильно настроили файл Web.config веб-приложения CI. Подробнее - в шаге 3.
  • Убедитесь, что веб-приложение CI выполняется в соответствующем контексте и имеет доступ к серверу TFS.
  • Если все сделано правильно, но сборка по-прежнему дает сбой, проведите отладку веб-приложения:
  • Создайте новый проект веб-сайта.
  • Добавьте в проект существующий веб-сайт.
  • Щелкните кнопку Local IIS и выберите из списка веб-приложение CI.
  • Откройте notify.cs и создайте точку останова в методе Notify.
  • Нажмите F5, чтобы начать отладку.
  • Внесите изменения в тестовое приложение Windows Forms и верните код в систему управления исходным кодом.
  • Если в ходе выполнения точка останова не достигнута, событие не детектируется. Попробуйте подписаться на него еще раз.
  • Если в ходе выполнения приложение останавливается в точке останова, продолжайте отладку.
  • Убедитесь, что в Microsoft Internet Explorer включена отладка сценариев. В меню Сервис (Tools) выберите Свойства обозревателя (Internet Options) и перейдите на вкладку Дополнительно (Advanced) . Убедитесь, что флажок Отключить отладку сценариев (Internet Explorer) (Disable Script Debugging (Internet Explorer)) сброшен.
  • Шаг 6 - настройка уведомлений по электронной почте

    Можно настроить оповещение всех заинтересованных сторон о завершении сборки по электронной почте.

  • В Team Explorer щелкните правой кнопкой соответствующий командный проект.
  • Выберите Project Alerts.
  • Выберите параметр A build completes и введите адрес или адреса электронной почты для рассылки уведомлений.
  • Дополнительные ресурсы

  • Дополнительную информацию об использовании решения .
  • Скачать программу установки решения .
  • Подробнее о гибкой разработке и непрерывной интеграции в .
  • Как настроить плановую сборку в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В Visual Studio 2005 Team Foundation Server не предусмотрена возможность плановых сборок, но с помощью команды TFSBuild разработчик легко реализует их самостоятельно. В этой статье подробно разбирается процесс настройки плановой сборки с помощью команды TFSBuild и планировщика задач Microsoft Windows®.

    Примечание Пользователи TFS 2008 могут настраивать плановые сборки прямо из Visual Studio. Щелкните правой кнопкой мыши описание типа сборки в узле Builds дерева Team Explorer, выберите Edit Build Definition, щелкните Trigger и задайте график выполнения сборки.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - создание команды для запуска TFSBuild.
  • Шаг 3 - тестирование команды для запуска TFSBuild.
  • Шаг 4 - создание пакетного файла.
  • Шаг 5 - тестирование пакетного файла.
  • Шаг 6 - добавление плановой задачи.
  • Шаг 7 - тестирование плановой задачи.
  • Дополнительные ресурсы.
  • Задачи

  • Изучить, что такое плановая сборка.
  • Создать плановую сборку с помощью утилиты TFSBuild и планировщика задач командной строки Windows.
  • Обзор

    Чрезвычайно важно, чтобы команда разработки проекта регулярно формировала сборки. Это обеспечит ей своевременное получение обратной связи от тестировщиков и других заинтересованных сторон. Такое взаимодействие можно обеспечить за счет плановых сборок. Можно спланировать выполнение сборок каждую ночь, неделю, раз в две недели или по любому другому графику в зависимости от масштабов проекта и предъявляемых требований.

    Плановые командные сборки в TFS не поддерживаются, но эту проблему решает утилита TFSBuild, которая позволяет запускать сценарии сборки из командной строки. Используя любой планировщик задач, например, Windows Task Scheduler, можно запускать утилиту TFSBuild по определенному графику, создавая сборки через заданные интервалы времени.

    Порядок операций

  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - создание команды для запуска TFSBuild.
  • Шаг 3 - тестирование команды для запуска TFSBuild.
  • Шаг 4 - создание пакетного файла.
  • Шаг 5 - тестирование пакетного файла.
  • Шаг 6 - добавление плановой задачи.
  • Шаг 7 - тестирование плановой задачи.
  • Прежде всего

    Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.

    Шаг 1 - создание и тестирование сборки

    На начальном этапе мы создадим тестовую сборку и проверим возможность ее выполнения из Visual Studio. Если сборку выполнить не удается, перед переходом к следующему этапу необходимо исправить в ней ошибки.

  • Создайте для тестирования сценария сборки проект Microsoft Windows® Forms.
  • Убедитесь, что сборка проекта выполняется правильно.
  • Верните проект в систему управления исходным кодом.
  • Создайте сценарий командной сборки:
  • В Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.
  • Заполните страницы мастера Team Build Type Creation Wizard.
  • Проверьте работоспособность сценария командной сборки:
  • В Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.
  • В контекстном меню выберите команду Build Team Project <Имя вашего сценария сборки> .
  • Убедитесь, что тип выбран правильно, и щелкните Build.
  • Просмотрите результаты сборки и убедитесь, что в процессе сборки не возникло ошибок.
  • Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.

    Шаг 2 - создание команды для запуска TFSBuild

    Сформируем команду для утилиты TFSBuild, по которой будет запускаться сборка.

  • Чтобы начать сборку, в утилиту командной строки TFSBuild необходимо передать ряд параметров:
  • Team Foundation Server - URL сервера TFS, куда возвращаются изменения в собираемых решениях.
  • Team Project - имя командного проекта, сборка которого выполняется.
  • Build Type - тип сборки, созданный на шаге 1.
  • Build Machine - имя сервера, который будет использоваться для сборки проекта. Это необязательный параметр; по умолчанию используется сервер, заданный в типе сборки.
  • Build Directory - путь к папке, в которой выполняется сборка. Это необязательный параметр; по умолчанию используется путь, заданный в типе сборки.
  • Создайте следующую команду для выполнения сборки: TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки>
  • Если требуется переопределить имя компьютера и путь к папке сборки, команда выглядит так: TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>

    Шаг 3 - тестирование команды для запуска TFSBuild

    Проверим правильность выполнения команды TFSBuild.

  • Откройте окно командной строки Visual Studio.
  • Введите команду, созданную на шаге 2.
  • Просмотрите полученный результат, чтобы убедиться в отсутствии ошибок и успешности выполнения сборки.
  • Шаг 4 - создание пакетного файла

    Для планирования сборок удобно использовать пакетный файл.

  • Откройте Блокнот (Notepad) и введите следующую команду: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки>

    Обратите внимание, что здесь задан полный путь к файлу TFSBuild.exe, чтобы его можно было запускать из окна командной строки Windows. Если требуется переопределить компьютер и папку сборки, команда в пакетном файле будет выглядеть так: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>

  • Сохраните файл с расширением .bat, например, batchbuild.bat.
  • Поместите файл в папку сборки в системе управления исходным кодом TFS, например, Main\Scripts.
  • Шаг 5 - тестирование пакетного файла

    Проверим работу пакетного файла.

  • Откройте окно командной строки Windows.

    Примечание Не открывайте окно командной строки Visual Studio. По умолчанию планировщик Windows будет выполнять пакетный файл в окне командной строки Windows.

  • Введите имя пакетного файла.
  • Убедитесь, что сборка выполняется без ошибок.
  • Шаг 6 - добавление плановой задачи

    На данном этапе вы добавите задачу для регулярного запуска сборки.

  • Откройте панель управления.
  • Щелкните дважды значок Назначенные задания ( Scheduled Tasks ), затем щелкните Добавить задание ( Add Scheduled Tasks ).
  • На первой странице Мастера планирования заданий ( Scheduled Task Wizard ) щелкните Далее ( Next ).
  • Щелкните Обзор (Browse) и выберите пакетный файл, созданный на шаге 4. Затем щелкните Далее ( Next ).
  • Введите имя задачи и выберите частоту сборки, например, Ежедневно ( Daily ). Затем щелкните Далее ( Next ).
  • Задайте Время начала ( Start time ) и Дату начала ( Start date ). Щелкните Далее ( Next ).
  • ведите имя и пароль учетной записи с разрешением Start a build и щелкните Далее ( Next ).
  • Щелкните Готово ( Finish ).
  • Шаг 7 - тестирование плановой задачи

    Убедитесь, что сборка выполняется правильно и в заданное время.

  • Дождитесь момента, когда должна быть выполнена плановая задача, или откройте панель управления, дважды щелкните значок Назначенные задания ( Scheduled Tasks ), щелкните правой кнопкой свою плановую задачу и выберите команду Запустить ( Run ).
  • Откроется окно командной строки, и начнется выполнение сборки.
  • Если вы в момент выполнения задачи не имеете доступа к компьютеру, на котором выполняется сборка, ее результаты можно проверить позже:
  • В Team Explorer щелкните дважды All Build Types.
  • Просмотрите список сборок и проверьте, соответствует ли время их выполнения заданному графику.
  • Дополнительные ресурсы

  • Подробно о настройке плановой сборки читайте в статье "How to: Configure a Scheduled Build (Command Line)" по адресу http://msdn2.microsoft. com/en-us/library/ms181727(VS.80).aspx.
  • Как структурировать приложения ASP.NET в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • ASP.NET applications.
  • Описание

    В этой статье подробно разбирается процесс организации и структурирования веб-приложений ASP.NET для Team Foundation Server. Здесь описана рекомендованная структура дерева исходного кода системы управления исходным кодом TFS.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - создание локальных папок веб-проекта.
  • Шаг 2 - создание пустого решения.
  • Шаг 3 - добавление веб-сайта в решение.
  • Шаг 4 - добавление библиотеки классов (при необходимости).
  • Шаг 5 - проверка структуры решения.
  • Шаг 6 - проверка локальной структуры каталогов.
  • Шаг 7 - добавление решения в систему управления исходным кодом.
  • Рекомендации по работе с общим кодом.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать структуру дерева исходного кода приложения ASP. NET.
  • Разобраться, какую структуру дерева исходного кода рекомендуется использовать в TFS.
  • Обзор

    В этой статье рассказано, как создавать структуру каталогов системы управления исходным кодом для веб-приложений ASP.NET. Поскольку в веб-проекты ASP.NET часто включаются дополнительные библиотеки классов, это необходимо предусмотреть в структуре. Папки для хранения веб-проектов ASP.NET располагаются в системе управления исходным кодом под папками верхнего уровня /Main/Source. Такая структура позволяет добавлять папки Development и Releases при необходимости создания ветвей для изолированной разработки и обслуживания предыдущих выпусков. Дополнительную информацию о создании структуры каталогов верхнего уровня вы найдете в разделе "Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server ".

    Порядок операций

  • Шаг 1 - создание локальных папок веб-проекта.
  • Шаг 2 - создание пустого решения.
  • Шаг 3 - добавление веб-сайта в решение.
  • Шаг 4 - добавление библиотеки классов (при необходимости).
  • Шаг 5 - проверка структуры решения.
  • Шаг 6 - проверка локальной структуры каталогов.
  • Шаг 7 - добавление решения в систему управления исходным кодом.
  • Шаг 1 - создание локальных папок веб-проекта

    На этом этапе вы создадите на своем компьютере локальную структуру каталогов для веб-проекта. Чтобы обеспечить единый подход к командной разработке и эффективную организацию проектов на своем компьютере, сгруппируйте разрабатываемый исходный код всех командных проектов, над которыми вы работаете, в одной корневой папке, например, C:\Dev-Projects. Если такой папки еще нет на компьютере, создайте ее.

    Шаг 2 - создание пустого решения

    Начните создание веб-приложения ASP.NET с явного создания файла решения Visual Studio (.sln) . Затем добавьте в него свой веб-сайт и все необходимые дополнительные проекты, например, библиотеки классов. Вот как создается решение в папке верхнего уровня C:\DevProjects.

  • В меню File выберите команду New и щелкните Project.
  • Разверните Other Project Types и выберите Visual Studio Solutions.
  • Выберите Blank Solution.
  • Назовите свое решение MyWebAppSln.
  • Присвойте свойству Location значение C:\DevProjects и щелкните OK. Будет создана папка C:\DevProjects\MyWebAppSln. Visual Studio добавляет в эту папку файл решения (.sln) и файл пользовательских параметров решения (.suo) . Обратите внимание, что на шаге 7 в систему управления исходным кодом добавляется только файл .sln.
  • Шаг 3 - добавление веб-сайта в решение

    Теперь добавьте в свое решение веб-сайт ASP.NET. Эта процедура немного варьируется в зависимости от типа веб-сайта, т.е., от того, создается веб-сайт в локальной файловой системе с использованием функций веб-разработки Visual Studio или на веб-сервере с использованием Internet Information Services (IIS) .

    Сайт в файловой системе

    Чтобы добавить в решение веб-проект, располагающийся в локальной файловой системе, выполните следующие действия:

  • В Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите команду Add и щелкните New Web Site.
  • В диалоговом окне Add New Web Site не меняйте значения Location (по умолчанию задан вариант File System ) и Language (по умолчанию Visual C# ).
  • Присвойте параметру Location значение C:\DevProjects\MyWebAppSln\ Source\MyWebAppWeb.
  • Щелкните OK, чтобы закрыть диалоговое окно Add New Web Site. Обратите внимание, что мы использовали суффикс "Web" в этом примере для четкого обозначения корневой папки веб-сайта.
  • Сайт на веб-сервере

    Создание веб-сайта ASP.NET на базе веб-сервера IIS, доступ к которому при разработке будет осуществляться по протоколу HTTP, начинается с явного создания виртуального каталога. Необходимо, чтобы каталог веб-сайта располагался в заданном расположении, а не в папке \inetpub\wwwroot.

    Создание виртуального каталога веб-сайта

  • В проводнике Windows перейдите в папку C:\DevProjects\MyWebAppSln\ Source.
  • Создайте в ней папку MyWebAppWeb.
  • Щелкните папку MyWebAppWeb правой кнопкой и выберите Общий доступ и безопасность ( Sharing and Security ).
  • Перейдите на вкладку Доступ через веб ( Web Sharing ).
  • Щелкните Предоставить совместный доступ к папке ( Share this folder ).
  • Не меняйте значение свойства Псевдоним ( Alias ), оставьте заданные по умолчанию разрешения доступа и разрешения для приложений и щелкните OK.
  • Дважды щелкните OK.
  • Добавление веб-сайта в решение

  • В Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите Add и щелкните New Web Site.
  • В диалоговом окне Add New Web Site задайте в поле Location значение HTTP и не меняйте значение Language по умолчанию ( Visual C# ).
  • Задайте для .
  • Щелкните OK, чтобы закрыть диалоговое окно Add New Web Site. Visual Studio добавит ваши файлы Default.aspx и Default.aspx.cs в папку C:\DevProjects\MyWebAppSln\Source\MyWebAppWeb и создаст дочерние папки Bin и App_Data.
  • Шаг 4 - добавление библиотеки классов (при необходимости)

    Если в веб-приложении используются дополнительные библиотеки классов, добавьте их следующим образом:

  • В Solution Explorer щелкните правой кнопкой решение MyWebAppSln, выберите Add и щелкните New Project.
  • Выберите тип проекта Visual C# и шаблон Class Library.
  • Введите имя ClassLibrary, в качестве Location задайте C:\DevProjects\ MyWebAppSln\Source и щелкните OK.
  • Все новые проекты будут добавляться в папку Source.

    Шаг 5 - проверка структуры решения

    В Solution Explorer проверьте структуру решения. Она должна выглядеть следующим образом:

    Шаг 6 - проверка локальной структуры каталогов

    В проводнике Windows проверьте локальную структуру каталогов. Она должна выглядеть следующим образом:

    Шаг 7 - добавление решения в систему управления исходным кодом

    На данном этапе вы добавите решение в систему управления исходным кодом TFS.

  • Щелкните правой кнопкой мыши свое решение и выберите Add Solution to Source Control.
  • В диалоговом окне Add Solution MyWebAppSln to Source Control выберите свой командный проект.
  • Щелкните Make New Folder и назовите новую папку Main.
  • Выделите вновь созданную папку Main и щелкните Make New Folder. Назовите новую папку Source.
  • Выберите вновь созданную папку Source и щелкните OK.
  • Проверьте структуру папок в системе управления исходным кодом, дважды щелкнув Source Control в Team Explorer. Структура должна выглядеть следующим образом:

  • Теперь вы можете просматривать изменения, ожидающие возвращения на сервер, и возвращать файлы исходного кода. Для этого в меню View выберите Other Windows и щелкните Pending Changes. Выберите свой проект и исходные файлы, которые необходимо возвратить, введите комментарий к возвращаемым изменениям и щелкните Check In.
  • Рекомендации по работе с общим кодом

    Существует два основных варианта использования общего кода в веб-приложениях ASP.NET:

  • использование кода из общей папки;
  • создание ветви общего кода.
  • Использование кода из общей папки

    В этом случае вы сопоставляете исходный код из общего каталога, например, из другого командного проекта, с рабочей областью на своем компьютере. При этом конфигурация, объединяющая исходный код из общего каталога с кодом вашего проекта, создается на вашем компьютере.

    Преимущество этого подхода в том, что изменения в общем коде переносятся в вашу рабочую область при каждой загрузке последней версии исходного файла. Допустим, у вас имеется командный проект Common, являющийся контейнером для общего исходного кода. Чтобы использовать код этого проекта в другом проекте, вы должны сопоставить оба проекта с общей папкой на компьютере разработчика. Например:

  • C:\DevProjects\MyWebAppSln\
  • C:\DevProjects\SharedCommon\
  • Используются следующие сопоставления рабочих областей:

    Папка системы управления исходным кодом Локальная папка
    $/MyTeamProject1/Main/Source/ MyWebAppApp C:\DevProjects\MyWebAppSln
    $/MyTeamProject2/Main/Source/Common C:\DevProjects\Common

    Дополнительную информацию по этому вопросу вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs. msdn.com/manishagarwal/archive/2005/12/22/506635.aspx.

    Создание ветви общего кода

    В этом случае вы создаете в своем командном проекте ветвь для исходного кода из общего командного проекта. При этом также возникает конфигурация, объединяющая исходный код из общей папки и ваш проект. Отличие состоит в том, что изменения общего исходного кода переносятся в процессе слияния ветвей. Таким образом, внесение изменений в общий код становится более явным. Вы сами принимаете решение о слиянии для переноса последних изменений.

    В качестве примера опять рассмотрим командный проект Common, являющийся контейнером для совместно используемого кода. Чтобы создать ветвь для общего кода, выполните следующие действия:

  • В Source Control Explorer щелкните правой кнопкой мыши корневую папку командного проекта Common.
  • Щелкните Branch.
  • В диалоговом окне Branch в качестве Target задайте корневую папку командного проекта $/MyTeamProject1/Main/Source/ и щелкните OK.
  • После завершения ветвления не забудьте возвратить созданную ветвь в систему управления исходным кодом.
  • Дополнительные ресурсы

  • Дополнительную информацию о создании рабочих областей вы найдете в статье "How to: Create a Workspace" по адресу http://msdn2.microsoft. com/en-us/library/ms181384(VS.80).aspx.
  • Дополнительную информацию о ссылках на файлы сборок в разных командных проектах вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs.msdn.com/manishagarwal/ar-chive/2005/12/22/506635.aspx.
  • Как структурировать приложения Windows в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Microsoft Windows® Form Applications
  • Описание

    В этой статье подробно разбирается процесс организации и структурирования приложений Windows Form в Team Foundation Server. Описана рекомендованная структура дерева исходного кода в системе управления исходным кодом TFS.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - создание локальных папок проекта Windows Forms.
  • Шаг 2 - создание пустого решения.
  • Шаг 3 - добавление проекта Windows Forms в решение.
  • Шаг 4 - добавление библиотеки элементов управления (при необходимости).
  • Шаг 5 - добавление библиотеки классов (при необходимости).
  • Шаг 6 - проверка структуры решения.
  • Шаг 7 - проверка локальной структуры каталогов.
  • Шаг 8 - добавление решения в систему управления исходным кодом.
  • Рекомендации по работе с совместно используемым кодом.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать структуру дерева исходного кода приложения Windows Forms.
  • Разобраться, какую структуру дерева рекомендуется использовать в системе управления исходным кодом TFS.
  • Обзор

    В статье показано, как создавать структуру каталогов системы управления исходным кодом для приложений Windows Forms. Поскольку в проекты Windows Forms часто включаются дополнительные библиотеки классов и элементов управления, структура должна это учитывать. В системе управления исходным кодом папки для хранения проектов Windows Forms располагаются под папками верхнего уровня /Main/Source. Такая структура позволяет добавлять папки Development и Releases при необходимости создания ветвей для изолированной разработки и обслуживания выпущенных версий. Дополнительную информацию о создании структуры каталогов верхнего уровня вы найдете в разделе "Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server ".

    Порядок операций

  • Шаг 1 - создание локальных папок проекта Windows Forms.
  • Шаг 2 - создание пустого решения.
  • Шаг 3 - добавление проекта Windows Forms в решение.
  • Шаг 4 - добавление библиотеки элементов управления (при необходимости).
  • Шаг 5 - добавление библиотеки классов (при необходимости).
  • Шаг 6 - проверка структуры решения.
  • Шаг 7 - проверка локальной структуры каталогов.
  • Шаг 8 - добавление решения в систему управления исходным кодом.
  • Шаг 1 - создание локальных папок проекта Windows Forms

    На этом этапе вы создадите на своем компьютере локальную структуру каталогов для проекта Windows Forms. Чтобы обеспечить единый подход к командной разработке и эффективную организацию проектов на своем компьютере, сгруппируйте разрабатываемый исходный код всех командных проектов, над которыми вы работаете, в одной корневой папке, например, C:\DevProjects. Если такой папки еще нет на компьютере, создайте ее.

    Шаг 2 - создание пустого решения

    Начните создание приложения Windows Forms с явного создания файла решения Visual Studio (.sln) . Затем добавьте в него проект Windows Forms и все необходимые дополнительные проекты, например, библиотеки классов или элементов управления. Вот как создается решение в папке верхнего уровня C:\DevProjects.

  • В меню File выберите команду New и щелкните Project.
  • Разверните Other Project Types и выберите Visual Studio Solutions.
  • Выберите Blank Solution.
  • Назовите свое решение MyApp.
  • Присвойте свойству Location значение C:\DevProjects и щелкните OK. Будет создана папка C:\DevProjects\MyApp. Visual Studio добавляет в эту папку файл решения ( .sln ) и файл пользовательских параметров решения ( .suo ). Обратите внимание, что на шаге 8 в систему управления исходным кодом добавляется только файл .sln.
  • Шаг 3 - добавление проекта Windows Forms в решение

    Добавьте проект Windows Forms в свое решение.

  • В Solution Explorer щелкните правой кнопкой решение MyApp, выберите Add и щелкните New Project.
  • В диалоговом окне Add New Project выберите Visual C# в качестве типа проекта и Windows Application в качестве шаблона.
  • Присвойте параметру Location значение C:\DevProjects\MyApp\Source.
  • Назовите проект MyWinFormApp.
  • Щелкните OK, чтобы закрыть диалоговое окно Add New Project и добавить проект.
  • Шаг 4 - добавление библиотеки элементов управления (при необходимости)

    Если в приложении Windows Forms используются дополнительные библиотеки элементов управления, добавьте их следующим образом:

  • В Solution Explorer щелкните правой кнопкой свое решение, выберите Add и щелкните New Project.
  • В диалоговом окне Add New Project выберите Visual C# в качестве типа проекта и Windows Control Library в качестве шаблона.
  • Присвойте параметру Location значение C:\DevProjects\MyApp\Source.
  • Назовите библиотеку элементов управления ControlLibrary.
  • Щелкните OK, чтобы закрыть диалоговое окно Add New Project.
  • Шаг 5 - добавление библиотеки классов (при необходимости)

    Если в приложении Windows Forms используются дополнительные библиотеки классов, добавьте их следующим образом:

  • В Solution Explorer щелкните правой кнопкой свое решение, выберите Add и щелкните New Project.
  • В диалоговом окне Add New Project выберите Visual C# в качестве типа проекта и Class Library в качестве шаблона.
  • Присвойте параметру Location значение C:\DevProjects\MyApp\Source.
  • Назовите библиотеку классов ClassLibrary1
  • Щелкните OK, чтобы закрыть диалоговое окно Add New Project.
  • Шаг 6 - проверка структуры решения

    В Solution Explorer проверьте структуру решения. Она должна выглядеть следующим образом:

    Шаг 7 - проверка локальной структуры каталогов

    В проводнике Windows проверьте локальную структуру каталогов. Она должна выглядеть следующим образом:

    Шаг 8 - добавление решения в систему управления исходным кодом

    Добавьте в систему управления исходным кодом TFS свое решение, содержащее проект Windows Forms, а также, возможно, библиотеки классов и элементов управления.

  • Щелкните правой кнопкой мыши MyApp и выберите Add Solution to Source Control.
  • В диалоговом окне Add Solution MyApp to Source Control выберите свой командный проект.
  • В диалоговом окне щелкните Make New Folder и назовите новую папку Main.
  • Выделите вновь созданную папку Main и щелкните Make New Folder. Назовите новую папку Source.
  • Выделите вновь созданную папку Source и щелкните OK.
  • Проверьте структуру папок в системе управления исходным кодом, щелкнув дважды Source Control в Team Explorer. При этом откроется Source Control Explorer. Структура папок должна выглядеть следующим образом:

  • Теперь вы можете просматривать изменения, ожидающие возвращения на сервер, и возвращать файлы исходного кода. В меню View выберите Other Windows и щелкните Pending Changes. Выберите проект и исходные файлы, которые необходимо возвратить, введите комментарий к возвращаемым изменениям и щелкните Check In.
  • Рекомендации по работе с общим кодом

    Существует два основных варианта использования общего кода в веб-приложениях Windows Forms:

    Использование кода из общей папки

    В этом случае вы сопоставляете исходный код из общего каталога, например, из другого командного проекта, с рабочей областью на своем компьютере. При этом конфигурация, объединяющая исходный код из общего каталога с кодом вашего проекта, создается на вашем компьютере.

    Преимущество этого подхода в том, что изменения в общем коде переносятся в вашу рабочую область при каждой загрузке последней версии исходного файла. Допустим, у вас имеется командный проект Common, являющийся контейнером для общего исходного кода. Чтобы использовать код этого проекта в другом проекте, вы должны сопоставить оба проекта с общей папкой на компьютере разработчика. Например:

  • C:\MyProjects\MyApp\
  • C:\MyProjects\SharedCommon\
  • Используются следующие сопоставления рабочих областей:

    Папка системы управления исходным кодом Локальная папка
    $/MyTeamProject1/Main/Source/MyApp C:\DevProjects\MyApp
    $/MyTeamProject2/Main/Source/Common C:\DevProjects\Common

    Дополнительную информацию по этому вопросу вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs. msdn.com/manishagarwal/archive/2005/12/22/506635.aspx.

    Создание ветви общего кода

    В этом случае вы создаете в своем командном проекте ветвь для исходного кода из общего командного проекта. При этом также возникает конфигурация, объединяющая исходный код из общей папки и ваш проект. Отличие состоит в том, что изменения общего исходного кода переносятся в процессе слияния ветвей. Таким образом, внесение изменений в общий код становится более явным. Вы сами принимаете решение о слиянии для переноса последних изменений.

    В качестве примера опять рассмотрим командный проект Common, являющийся контейнером для совместно используемого кода. Чтобы создать ветвь для общего кода, выполните следующие действия:

  • В Source Control Explorer щелкните правой кнопкой мыши корневую папку командного проекта Common.
  • Щелкните Branch .
  • В диалоговом окне Branch в качестве Target задайте корневую папку командного проекта $/MyTeamProject1/Main/Source/ и щелкните OK.
  • После завершения ветвления не забудьте возвратить созданную ветвь в систему управления исходным кодом.
  • Дополнительные ресурсы

  • Дополнительную информацию о создании рабочих областей вы найдете в статье "How to: Create a Workspace" по адресу http://msdn2.microsoft. com/en-us/library/ms181384(VS.80).aspx.
  • Дополнительную информацию о ссылках на файлы сборок в разных командных проектах вы найдете в статье "Working with multiple team projects in Team Build" по адресу http://blogs.msdn.com/manishagarwal/ar-chive/2005/12/22/506635.aspx.
  • Как структурировать папки управления исходным кодом в Visual Studio Team Foundation Server

    Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .
  • Описание

    В этой статье подробно разбирается процесс организации структуры каталогов TFS. Эти рекомендации основаны на практическом опыте как Microsoft, так и пользователей продуктов корпорации. Представленная здесь структура является лишь ориентиром, гораздо важнее понять, на каких основаниях она построена. Разберитесь с этими основаниями и используйте их при формировании собственной структуры и выработке соглашения о наименовании папок в вашем сценарии.

    Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Шаг 1 - создание сопоставления рабочей области.
  • Шаг 2 - создание папки Main.
  • Шаг 3 - создание папок для артефактов проекта.
  • Шаг 4 - добавление решения в дерево исходного кода.
  • Шаг 5 - создание папки Development для изоляции разработки (при необходимости).
  • Шаг 6 - создание папки Releases для изоляции выпущенных сборок (при необходимости).
  • Дополнительные рекомендации.
  • Дополнительные ресурсы.
  • Задачи

  • Научиться создавать сопоставления рабочих областей.
  • Разобраться, как структурировать и именовать папки системы управления исходным кодом.
  • Разобраться, как ветвление влияет на структуру исходного кода.
  • Обзор

    В этой статье описывается создание структуры каталогов системы управления исходным кодом, которая подходит для большинства типичных проектов. В представленной структуре есть три папки верхнего уровня:

  • Main Главная корневая папка, выполняющая роль контейнера для основного дерева исходного кода, а также для артефактов проекта, например, проектной документации, сценариев и тестирования. Также в папке Main располагаются файлы Visual Studio Solution (.sln) .
  • Development Необязательная папка корневого уровня, которая может использоваться для изоляции разработки компонентов или работы отдельных команд. Она создается как ветвь папки Main.
  • Releases Необязательная папка корневого уровня для предыдущих сборок, которые необходимо изолировать от основной разработки, например, чтобы обслуживать выпущенную версию.
  • Представляемая в данной статье структура каталогов выглядит следующим образом:

    {
    /Main	->Может содержать файлы решений (.sln),
    охватывающих несколько проектов
    /Source
    /MyApp1	^Содержит файл MyApp1.sln
    /Source	^Содержит папку для всего исходного кода
    /ClassLibrary1 ^Содержит ClassLibrary1.csproj
    /MyApp1Web	^Содержит Default.aspx
    /Build	^Содержит результат сборки (двоичные файлы)
    /Docs	^Содержит документацию по продукту и пр.
    /Tests	^Содержит тесты
    /Development
    /FeatureBranch1
    /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /FeatureBranch2
    /Releases
    /Release1 /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /Release 1.1 /Release 1.2 }

    Помните, что эта структура - лишь ориентир с примерным набором папок. Важно, чтобы структура соответствовала сути проекта, а имена папок отражали их назначение. Подробно принципы построения структуры рассматриваются в лекции 5.

    Порядок операций

  • Шаг 1 - создание сопоставления рабочей области.
  • Шаг 2 - создание папки Main.
  • Шаг 3 - создание папок для артефактов проекта.
  • Шаг 4 - добавление решения в дерево исходного кода.
  • Шаг 5 - создание папки Development для изоляции разработки (при необходимости).
  • Шаг 6 - создание папки Releases для изоляции выпущенных сборок (при необходимости).
  • Шаг 1 - создание сопоставления рабочей области

    На начальном этапе для описания соответствия между структурой каталогов на сервере TFS и на клиенте создается сопоставление рабочей области. Сначала вы создаете дерево исходного кода в своей рабочей области и затем передаете его на сервер TFS.

    Сопоставление рабочей области можно создать двумя способами: явно или выполнив для командного проекта операцию Get.

    Явное создание сопоставления рабочей области

  • В меню File Visual Studio выберите Source Control и щелкните Workspaces.
  • В диалоговом окне Manage Workspaces выберите имя своего компьютера и щелкните Edit.
  • В диалоговом окне Edit Workspace в списке Working folders щелкните Click here to enter a new working folder.
  • Щелкните многоточие, выберите свой командный проект (например, MyTeamProject1 ) и щелкните OK.
  • Щелкните ячейку локальной папки, чтобы появилась еще одна кнопка с многоточием.
  • Щелкните многоточие под Local Folder и выберите локальную папку на своем компьютере, в которой вы хотите разместить свой командный проект, например, C:\DevProjects\MyTeamProject1.
  • Дважды щелкните OK, чтобы закрыть диалоговое окно Edit Workspace.
  • Щелкните OK в ответ на сообщение Microsoft Visual Studio с информацией об изменении одной или нескольких рабочих папок.
  • Щелкните Close, чтобы закрыть диалоговое окно Manage Workspaces.
  • Выполнение операции Get для командного проекта

  • В Team Explorer разверните узел своего командного проекта, например, MyTeamProject1.
  • Щелкните дважды Source Control под командным проектом.
  • В Source Control Explorer щелкните правой кнопкой корневую папку MyTeamProject1 и выберите команду Get Latest Version.
  • В диалоговом окне Browse For Folder выберите локальный путь (например, C:\DevProjects\MyTeamProject1 ) и щелкните OK. Корневая папка командного проекта с TFS сопоставлена с локальным каталогом на вашем компьютере.
  • Шаг 2 - создание папки Main

    Теперь создадим в системе управления исходным кодом новую корневую папку Main для вашего командного проекта. Она используется как корневой контейнер для исходного кода и других артефактов проекта. В ней также могут располагаться файлы решений Visual Studio (.sln) , охватывающих несколько проектов. Папки решений также хранятся в папках соответствующих приложений, располагающихся на более низком уровне структуры дерева. Чтобы создать папку Main, выполните следующие действия:

  • 1. В Team Explorer разверните свой командный проект и дважды щелкните Source Control.
  • В Source Control Explorer выберите корневую папку командного проекта.
  • Щелкните правой кнопкой мыши правую панель и выберите New Folder.
  • Введите Main и нажмите Enter.
  • Шаг 3 - создание папок для артефактов проекта

    Далее в папке Main создаются папки для размещения дерева исходного кода и сопутствующих артефактов, например, сборок, документации, файлов сценариев и тестов:

    { /Main
    /Build
    /Docs
    /Source
    /Tests }

    Чтобы создать папки для размещения ресурсов проекта, выполните следующие действия:

  • Разверните командный проект и в левой панели Source Control Explorer выберите папку Main.
  • Щелкните правой кнопкой правую панель, щелкните New Folder, введите Build и нажмите Enter.
  • Повторите шаг 2, чтобы создать остальные подпапки папки Main.
  • Шаг 4 - добавление решения в дерево исходного кода

    Теперь добавим в дерево исходного кода TFS решение Visual Studio (.sln) , проект ( .vsproj, .vbproj ) и исходные файлы.

    Поскольку на шаге 1 вы сопоставили корневой узел с папкой C:\ DevProjects\MyTeamProject1, убедитесь, что структуры папок на клиенте и на сервере синхронизированы. Файл решения (.sln) должен находиться в папке C:\DevProjects\MyTeamProject1\Main\Source\MyApp1. Связанные с проектом файлы компонентов MyApp1Web и ClassLibrary1 должны располагаться в папке C:\DevProjects\MyTeamProject1\Main\Source\MyApp1\ Source.

    Чтобы добавить решение в дерево исходного кода, выполните следующие действия:

  • Откройте решение в Visual Studio.
  • В Solution Explorer щелкните решение правой кнопкой и выберите Add Solution to Source Control. Поскольку сопоставление рабочей области уже было создано на шаге 1, теперь в систему добавляется решение.
  • Убедитесь, что значение параметра Local Workspace выбрано правильно. Это должна быть та же рабочая область, что использовалась при создании структуры каталогов в системе управления исходным кодом TFS.
  • Щелкните OK, чтобы добавить решение в систему управления исходным кодом.
  • Структура каталогов в системе управления исходным кодом должна выглядеть следующим образом:

    {
    /Main /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /Build /Docs /Tests }

    Дополнительную информацию о настройке структуры каталогов на стороне клиента вы найдете в статьях "Как структурировать приложения Windows в Visual Studio Team Foundation Server " и "Как структурировать приложения ASP.NET в Visual Studio Team Foundation Server ".

    Структура каталогов при наличии в проекте модульных тестов

    Если в проект включены модульные тесты, используйте следующую структуру каталогов, чтобы обеспечить их хранение отдельно от главной папки исходного кода:

    {
    /Main /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /UnitTests /Build /Docs /Tests }

    Шаг 5 - создание папки Development для изоляции разработки (при необходимости)

    Чтобы изолировать работу над компонентом или работу отдельной команды, создайте папку Development путем ветвления папки Main. Помните, что перед ветвлением необходимо возвратить все изменения.

    Чтобы создать ветвь Development, выполните следующие действия:

  • Создайте корневую папку Development (на одном уровне с Main ).
  • Создайте подпапку FeatureBranch1.
  • Щелкните папку $/TeamProject/Main/Source правой кнопкой и выберите команду Branch.

    Примечание Если команда Branch недоступна, проверьте, все ли изменения возвращены.

  • В диалоговом окне Branch щелкните Browse, выберите MyTeamProject/ Development/FeatureBranch1 и щелкните OK.
  • Щелкните OK, чтобы создать ветвь.
  • Возвратите изменения на сервер.
  • Структура каталогов в системе управления исходным кодом теперь должна выглядеть следующим образом:

    { /Development
    /FeatureBranch1 /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /FeatureBranch2
    /Main /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /Build /Docs /Source /Tests }

    Шаг 6 - создание папки Releases для изоляции выпущенных сборок (при необходимости)

    Если параллельно с основной разработкой требуется обслуживать ранее выпущенные версии, изолируйте работы по обслуживанию, создав папку Releases. В ней можно создавать подпапки для каждой выпущенной версии. Чтобы создать ветвь Releases, выполните следующие действия:

  • Создайте корневую папку Releases (на одном уровне с папками Main и Development ).
  • Создайте подпапку Release1.
  • Щелкните папку $/TeamProject/Development/Source правой кнопкой и выберите Branch.

    Примечание Если команда Branch недоступна, проверьте, все ли изменения возвращены.

  • В диалоговом окне Branch щелкните Browse, выберите $/TeamProject/ Maintenance/Release1 и щелкните OK.
  • В разделе Branch from version в списке By щелкните Label и введите имя метки в одноименное поле. Чтобы выбрать метку, щелкните кнопку с многоточием рядом с полем Label.
  • Щелкните OK, чтобы создать ветвь.
  • Новая структура каталогов в системе управления исходным кодом должна выглядеть следующим образом:

    {
    /Main /Source /MyApp1 /Source
    /MyApp1Web /ClassLibrary1 /Build /Docs /Source /Tests
    /Releases
    /Release1 /Source /MyApp1 /Source
    /MyApp1Web
    /ClassLibrary1 /Release 1.1 /Release 1.2 }

    Дополнительные рекомендации

    При создании структуры каталогов в TFS учитывайте следующие рекомендации:

  • Ветвление следует выполнять только в случае необходимости. Выпускаемые версии можно пометить метками и создать для них ветви позже, когда возникает реальная потребность в их изоляции.
  • Рассмотренная выше структура каталогов идеально подходит для сценариев, в которых проект состоит из одного файла решения Visual Studio (.sln) , содержащего все файлы проекта. При таком сценарии в папке Main размещается файл .sln и подпапки для каждого файла проекта (.vsproj, .vbproj) . В нашем примере папками проектов являются MyApp1, MyApp2 и т. д. Такой подход может также использоваться и при наличии одного файла проекта, в частности, если имеется только файл проекта без файла решения.
  • В сценариях с несколькими решениями файлы .sln могут размещаться в папке Main.
  • Дополнительные ресурсы

  • Создание рабочей области подробно рассматривается в статье "How to: Create a Workspace" по адресу http://msdn2.microsoft.com/en-us/library/ms181384(VS.80).aspx.
  • Вернуться к учебному плану