Visual Studio コマンド テーブル (VSCT) コンパイラは、.vsct ファイルのコンパイルを確実に成功させるためのコマンドライン スイッチを提供します。
コマンドライン パラメーター
Visual Studio の [コマンド] ウィンドウから基本的な VSCT ヘルプを表示するには、Visual Studio SDK のインストール パス\VisualStudioIntegration\Tools\Bin\ フォルダーに移動して、次のように入力します。
vsct /?
次が返されます。
Microsoft (R) Visual Studio (R) Command Table Compiler Version 3.00.2000
Syntax: vsct <infile> [<outfile>] [-S[symbols file]] [-D<preprocessor-define>]*
[-I<include-path>]* [-L<language>] [-E[C|H|N]:<name>]
-D Specify any additional preprocessor defines
-I Indicate what additional include paths to send to the preprocessor
-L Specify the language to use when selecting strings
-E Emit C# objects in the specified namespace for command items,
followed by [L|F|H|N]:<value>
F = Name of the file to emit (used if -EL is provided)
L = Name of a language providing a CodeDOM provider
N = namespace (required if -EL is provided)
H = C++ header
-c Clean build skipping dependency checks
-v Verbose output
Note
コマンドライン パラメーターを示すための表記としては、- (ダッシュ) と / (スラッシュ) のどちらの文字も使用できます。
指定できるフラグとその意味は次のとおりです。
Switch | 説明 |
---|---|
-D | 追加の定義済みシンボルを指定します。 |
I- | ファイル参照を解決するときに使用する追加のインクルード パスを示します。 |
L- | CultureInfo カルチャ名 (例: "en-US") を指定します。 |
E- | コマンド項目に対して指定された名前空間に C# オブジェクトを出力し、[C|H|N]:filename がその後に続きます。C は C#、H は C++ ヘッダー、N は名前空間を表します。 C# の場合、名前空間が必要です。 |
-v | 詳細出力。 |
-L スイッチは、指定された CultureInfo カルチャ名に対応するバイナリ .cto ファイルを生成するために、文字列のグループを選択するようコンパイラに指示します。 指定されたカルチャ名は、.vsct ファイル内の 1 つ以上の Strings 要素の Language 属性と一致する必要があります。 Strings 要素に Language 属性がない場合、上位の CommandTable 要素から継承されます。
.vsct ファイルには複数の Strings 要素が存在する場合があり、それぞれの Language 属性が異なっている場合があります。 グローバリゼーションを実現するには、VSCT コンパイラを複数回実行し、カルチャ名ごとに-L スイッチを変更します。
-L スイッチで指定されたカルチャ名がどの Strings 要素の Language 属性にも一致しない場合、コンパイラは地域ではなく言語との一致を試みます。 たとえば、"en-US" が見つからない場合、コンパイラは代わりに "en" を試行します。 それにも失敗した場合、オペレーティング システムの現在のカルチャを試行します。 それにも失敗した場合、見つかった最初の Strings 要素をコンパイルします。
-E スイッチを使用すると、コマンド テーブルによって使用されるシンボルを含む C スタイルのヘッダー ファイルを出力したり、コマンド シンボル用のオブジェクトを含む C# ファイルを出力したりできます。
-D および -I スイッチには、同じ名前を持つ Cl.exe C プリプロセッサ フラグの構文があります。 X=Y 形式の -D 定義は、Condition
属性における XML ベースの <Defined> テストの拡張に使用されます。 -I インクルード パスは、<Include>、<Extern>、<Bitmap> の各ファイル参照を解決するために使用されます。 詳細については、「VSCT XML スキーマ リファレンス」を参照してください。
VSCT コンパイラは、以前にビルドされたバイナリ ファイルを逆コンパイルすることもできます。 これを行うには、<infile> にバイナリ ファイルを指定します。 バイナリ ファイルが VSCT コンパイラによって生成された場合、そのシンボルは既にファイルに埋め込まれています。また、出力の <Symbols> セクションにシンボリック名を含む出力が生成されます。 バイナリが CTC コンパイラによって生成された場合、出力には実際の GUID と ID が含まれます。 現在のバージョンの Ctc.exe によって生成された *.ctsym ファイルがバイナリ入力ファイルと同じフォルダーにある場合、シンボルはそのファイルから読み込まれて出力に使用されます。