次の方法で共有


Winmdexp.exe (Windows ランタイム メタデータ エクスポート ツール)

Windows ランタイム メタデータ エクスポート ツール (Winmdexp.exe) は、.NET Framework モジュールを Windows ランタイム メタデータを含むファイルに変換します。 .NET Framework アセンブリと Windows ランタイム メタデータ ファイルは同じ物理形式を使用しますが、メタデータ テーブルの内容に違いがあります。つまり、.NET Framework アセンブリは Windows ランタイム コンポーネントとして自動的に使用できません。 .NET Framework モジュールを Windows ランタイム コンポーネントに変換するプロセスは、 エクスポートと呼ばれます。 .NET Framework 4.5 および 4.5.1 では、結果として得られる Windows メタデータ (.winmd) ファイルにメタデータと実装の両方が含まれています。

Visual Studio 2013 または Visual Studio 2012 の C# および Visual Basic 用 Windows ストアの下にある Windows ランタイム コンポーネント テンプレートを使用する場合、コンパイラ ターゲットは .winmdobj ファイルであり、後続のビルド ステップは .winmdobj ファイルを .winmd ファイルにエクスポートするために Winmdexp.exe を呼び出します。 これは、Windows ランタイム コンポーネントをビルドするための推奨される方法です。 Visual Studio が提供するよりもビルド プロセスをより詳細に制御する必要がある場合は、Winmdexp.exe を直接使用します。

このツールは、Visual Studio と共に自動的にインストールされます。 ツールを実行するには、、Visual Studio 開発者コマンド プロンプトまたは Visual Studio Developer PowerShell を使用します。

コマンド プロンプトに次のように入力します。

構文

winmdexp [options] winmdmodule  

パラメーター

引数またはオプション 説明
winmdmodule エクスポートするモジュール (.winmdobj) を指定します。 許可されるモジュールは 1 つだけです。 このモジュールを作成するには、winmdobj ターゲットで /target コンパイラ オプションを使用します。 -target:winmdobj (C# コンパイラ オプション) または -target (Visual Basic) を参照してください。
/docfile: docfile

/d: docfile
Winmdexp.exe が生成する出力 XML ドキュメント ファイルを指定します。 .NET Framework 4.5 では、出力ファイルは基本的に入力 XML ドキュメント ファイルと同じです。
/moduledoc: docfile

/md: docfile
コンパイラが winmdmodule で生成した XML ドキュメント ファイルの名前を指定します。
/modulepdb: symbolfile

/mp: symbolfile
winmdmoduleのシンボルを含むプログラム データベース (PDB) ファイルの名前を指定します。
/nowarn: warning 指定した警告番号を抑制します。 警告の場合は、エラー コードの数値部分のみを指定し、先頭にゼロを付けます。
/out: file

/o: file
出力 Windows メタデータ (.winmd) ファイルの名前を指定します。
/pdb: symbolfile

/p: symbolfile
エクスポートされた Windows メタデータ (.winmd) ファイルのシンボルを含む出力プログラム データベース (PDB) ファイルの名前を指定します。
/reference: winmd

/r: winmd
エクスポート時に参照するメタデータ ファイル (.winmd またはアセンブリ) を指定します。 "\Program Files (x86)\Reference Assemblies\Microsoft\Framework\ で参照アセンブリを使用する場合。NETCore\v4.5" ("\Program Files\..."32 ビット コンピューターの場合)、System.Runtime.dll と mscorlib.dllの両方への参照を含めます。
/utf8output 出力メッセージを UTF-8 エンコードにする必要があることを指定します。
/warnaserror+ すべての警告をエラーとして扱う必要があることを指定します。
@ responsefile オプション (および必要に応じて winmdmodule) を含む応答 (.rsp) ファイルを指定します。 responsefileの各行には、1 つの引数またはオプションが含まれている必要があります。

注釈

Winmdexp.exe は、任意の .NET Framework アセンブリを .winmd ファイルに変換するようには設計されていません。 /target:winmdobj オプションでコンパイルされたモジュールが必要であり、追加の制限が適用されます。 これらの制限の中で最も重要なのは、アセンブリの API サーフェスで公開されるすべての型が Windows ランタイム型である必要があるということです。 詳細については、「 C# および Visual Basic での Windows ランタイム コンポーネントの作成」の「Windows ランタイム コンポーネントでの型の宣言」セクションを参照してください。

C# または Visual Basic を使用して Windows 8.x ストア アプリまたは Windows ランタイム コンポーネントを記述する場合、.NET Framework では、Windows ランタイムを使用したプログラミングをより自然なものにするためのサポートが提供されます。 これについては、 Windows ストア アプリと Windows ランタイムの .NET Framework のサポートに関する記事で説明します。 このプロセスでは、一般的に使用される Windows ランタイム型の一部が .NET Framework 型にマップされます。 Winmdexp.exe このプロセスを元に戻し、対応する Windows ランタイム型を使用する API サーフェスを生成します。 たとえば、 IList<T> インターフェイスから構築された型は、Windows ランタイム IVector<T> インターフェイスから構築された型にマップされます。

こちらも参照ください