Visual Studio 2010ヘルプアーカイブミラー

はじめに

Visual Studio 2010ヘルプシステム(Microsoft Help System 1.1とも呼ばれる)の数少ない便利な革新の1つは、オンラインカタログからヘルプコンテンツアーカイブをインストールおよび更新する機能です。 ただし、開発マシンごとにギガバイトのアーカイブを取り出す必要は請求書のように思えるかもしれないので、オンラインカタログのローカルミラーを作成することにしました。 残念ながら、この問題を解決する公式の方法を見つけることができませんでした。



リサーチ

HTTPスニファー( Fiddlerなど)を使用すると、ディレクトリはhttp://services.mtps.microsoft.com/ServiceAPI/productsにあり、アーカイブはサイトhttp://パッケージに直接配置されていることがわかります。 .mtps.microsoft.com /。 ミラーリングする必要があるのは、これら2つのリソースです。



実装

ミラーを作成するには、よく知られているコンソールユーティリティwgetとWebサーバーが必要です(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. Webサーバーのセットアップ。 最初に、以前に作成したフォルダーをWebサーバーのルートとしてマウントし、次に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ファイルを編集する必要があります。 私の場合、localhostでエイリアスを作成すれば十分でした。
  5. 検証 これで、ヘルプライブラリマネージャー(Visual Studioの[ヘルプ]-> [ヘルプコンテンツの管理]メニュー)を起動し、ローカルミラーのコンテンツを使用して、[オンラインで更新を確認]および[オンラインからコンテンツをインストール]項目が正常に機能することを確認できます。
ミラーを更新するには、アーカイブフォルダーに移動してServiceAPIサブフォルダーを削除し、上記のパラメーターを使用してwgetを再起動します。-Nスイッチを使用すると、古いアーカイブが再度ダウンロードされなくなります。 スケジューラを使用して、たとえば週に1回、ジョブを自動的に実行するスクリプトを作成することもできます。



このガイドがお役に立てば幸いです。



All Articles