Зеркало Архива Справки По Visual Studio 2010



Введение Одним из немногих полезных новых дополнений к справочной системе Visual Studio 2010 (также известной как справочная система Microsoft 1.1) является возможность устанавливать и обновлять архивы содержимого справки из онлайн-каталога.

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

К сожалению, официального способа решения этой проблемы найти не удалось.



Изучать

Используя любой HTTP-сниффер (например, Скрипач ) вы можете узнать, что каталог находится по адресу http://services.mtps.microsoft.com/ServiceAPI/products , а сами архивы находятся на сайте http://packages.mtps.microsoft.com/ .

Именно эти два ресурса необходимо будет зеркалировать.



Выполнение

Для создания зеркала нам понадобится известная консольная утилита wget, а также веб-сервер (я использовал nginx).

Процесс создания зеркала состоит из следующих этапов:

  1. Подготовка.

    Первым делом создадим папку, в которой будет храниться содержимое будущего зеркала, например D:\mtps.

  2. Скачиваем каталог.

    В созданной папке нужно выполнить следующую, довольно длинную команду:

    wget -r -k -x -nH -H -N -E -l inf -e robots=off -X /ServiceAPI/packages -R *fr-fr*,*pt-br*,*es-es*,*pl-pl*,*de-de*,*cs-cz*,*it-it*,*tr-tr*,*ru-ru*,*ja-jp*,*ko-kr*,*zh-tw*,*zh-cn* http://services.mtps.microsoft.com/ServiceAPI/products/

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

    В этом случае исключаются все языки, кроме en-us.

  3. Настройка веб-сервера.

    Сначала вам необходимо смонтировать ранее созданную папку в качестве корня веб-сервера, а затем создать правило перезаписи, которое будет поворачивать ссылки типа http://services.mtps.microsoft.com/ServiceAPI/products/dd936256 В http://services.mtps.microsoft.com/ServiceAPI/products/dd936256.html поскольку именно так wget сохраняет структуру каталогов.

    В моем случае настройка сервера выглядела так:

    location / {<br/> root d:\mtps;<br/> index index.html index.htm;<br/> rewrite ^(.

    */[a-z0-9-]+)$ $1.html last;<br/>}<br/>

  4. Настройка клиента.

    Поскольку утилита управления справочной системой ожидает каталог по адресу Services.mtps.microsoft.com, вам необходимо отредактировать файл etc/hosts, сопоставив адрес нашего локального зеркала с этим доменом.

    В моем случае достаточно было создать псевдоним на локальном хосте.

  5. Обследование.

    Теперь вы можете запустить Диспетчер библиотеки справки (меню «Справка -> Управление содержимым справки» в Visual Studio) и убедиться, что пункты «Проверить наличие обновлений онлайн» и «Установить контент из Интернета» прекрасно работают, используя содержимое локального зеркала.

Чтобы обновить зеркало, достаточно зайти в папку с архивами, удалить подпапку ServiceAPI и повторно запустить wget с вышеуказанными параметрами, при этом ключ -N предотвращает повторную загрузку старых архивов.

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

Надеюсь, вы найдете это руководство полезным.

Теги: #visual studio 2010 #msdn #mtps #microsoft #help #mirror #Visual Studio

Вместе с данным постом часто просматривают: