開発中のAPIiveでD3D11呼び出しをラップしようとしています。
C#で使用しようとしているC ++/CXコンポーネントライブラリを作成しました。C ++ / CXコンポーネントとC#プロジェクトが同じソリューションに含まれている場合、これは単純で簡単です。すべてが正常に機能します...
...しかし、独自のソリューションでC ++ / CX APIコンポーネントを作成する場合は、2番目のC#Metroアプリソリューションを作成し、それにC ++ / CXコンポーネント「プロジェクト」を追加してから、C#MetroアプリにC ++/CXコンポーネントを参照させます。プロジェクトC++で宣言されたパブリック列挙を使用しようとすると、ランタイムエラーが発生します。
これが私のC#アプリがリンクできないように見えるパブリック列挙型クラスエラーです。
「Windowsランタイムタイプ'Reign.Video.D3D11.FeatureLevels'が見つかりませんでした。」
テスト用のC#アプリでC ++ / CXの「API」を正しくリンクできないように見えるので、これは非常に苛立たしいことです。メトロでC++で作成されたAPIをどのように生産的にテストすると思いますか?同じソリューションがない限り、C ++ / CXコンポーネントをC#プロジェクトにリンクすることはできません。また、C ++ / CXプロジェクトをC#ソリューションにリンクしてそこからリンクしようとすると、ランタイムエラーが発生します...
編集:これが私の問題を示すデモのダウンロードリンクです: ダウンロード