JavaScript と XAML Windows ストア アプリの両方で使用する WinRT コンポーネント (.winmd) を作成しました。JavaScript クライアントで Loose .winmd ファイル出力を含めて参照すると、次のビルド警告が表示されます。
Microsoft.AppXPackage.Targets(808,9): 警告 APPX1707: .winmd ファイル 'myRuntimeComponent.winmd' の実装ファイルが提供されていません。アプリ マニフェストで登録情報を生成するには、プロジェクト ファイルの .winmd 参照項目で 'Implementation' メタデータを指定します。
このエラーに関するドキュメントや、実装メタデータを含める方法が見つかりません。
JavaScript クライアントを実行しているときに、.winmd からエクスポートされたクラス メソッドが呼び出されると、次の例外がスローされます。
0x80040154 - JavaScript ランタイム エラー: クラスが登録されていません
.winmd をビルドする Visual Studio プロジェクトを参照するのではなく、クライアント アプリケーション プロジェクトで緩い .winmd ファイルを参照していることに注意してください。私のユース ケースは、.winmd コンポーネントの完全なソースではなく、.winmd 出力を配布することです。ソース配布はオプションではありません。
また、Windows ランタイム コンポーネントがプロジェクト参照として参照されている場合、JavaScript クライアントが正しくビルドおよび実行されることにも注意してください。C# XAML クライアントは、プロジェクト参照または Loose .winmd への参照を使用して正しく実行されます。
Loose .winmd を参照すると、クライアント アプリケーションのビルドで一部の登録情報が生成されていないように見えます。
JavaScript とマネージ クライアントの両方で使用するルーズな Windows ランタイム コンポーネントをビルドして配布するにはどうすればよいですか?