C#で消費できるC++ WinRTコンポーネントを作成できると言われています。私は単純なテストプロジェクト - C#XAMLアプリケーションと、基本的なWinRTコンポーネントプロジェクトテンプレートを使用するC++プロジェクトを持っています。 C#XAMLプロジェクトにプロジェクト参照を追加しようとすると、参照を追加できないというメッセージが表示されます(理由はわかりません)。ネイティブのWinRTコンポーネントをビルドすることができ、.winmdファイルが生成され、参照の追加ダイアログの参照ボタンを使用してこの.winmdファイルへの参照を手動で追加できます。これにより、ネイティブライブラリのメソッドにアクセスすることができますが、ビルドすると、Platform.IDisposableを使用していますが、その型は参照されていないアセンブリで定義されています。このシナリオをセッションで実演したことはありません。管理対象プロジェクトからネイティブWinRTコンポーネントを参照する方法はありますか。
10
A
答えて
8
答えを見つけました!まず、あなたはその後、手動で\ VC \にありますplatform.winmdへの参照を追加し、その後、あなたは参照を追加し、WinRTのコンポーネントのプロジェクトをきれいに、基本的に http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/1900bd21-8693-4127-800a-f35cfd5daac2
:それはグリッチだが、それは回避策を持っているように見えますあなたが行くのが良いはずです。
2
参照しているC++ WinRTアセンブリは、おそらくIDisposableインターフェイスを実装しているオブジェクトを使用しているため、インターフェイスを含むC++アセンブリも参照する必要があります。
2
Microsoft.VCLibsへの参照を追加した後、同様の問題が発生しました。展開できませんでした。しかし、私は、デフォルトではWinRTコンポーネントはx86コードにコンパイルされていますが、C#MetroスタイルのアプリケーションはすべてのCPUを対象としていますが、これが私の場合の根本的な原因であることに気づきました。 C#アプリケーションをx86に切り替えると、問題は解決しました。
関連する問題
- 1. ネイティブC++ COMコンポーネントで管理対象DLLから起動されたイベントをキャッチ
- 2. WinRT XAML - 管理対象と非管理対象 - どのように動作しますか?
- 3. マトリックスを管理対象外から管理対象に再割り当て
- 4. EntityManagerからすべての管理対象エンティティを取得する方法はありますか
- 5. OLEDBプロバイダは管理対象ですか、管理対象外ですか?
- 6. C++ Win32からの管理対象コンポーネントのデバッグ
- 7. クラウドフォーメーション別のスタックから管理ポリシーを参照する方法
- 8. オブジェクト・タイプWebMatrix.Data.DynamicRecordから既知の管理対象プロバイダのネイティブ・タイプへのマッピングがありません
- 9. DLL(管理対象および非管理対象)内の関数のリストを取得する方法は?
- 10. 管理対象属性をMagentoでオブジェクトにエコーする方法はありますか
- 11. 管理対象と非管理対象物理エンジンのC#
- 12. 「参照されたコンポーネント」参照を「見つかりませんでした」を処理する方法。
- 13. 管理対象ファイルポータル
- 14. WinRT XAMLでは、外部/別のアセンブリ/プロジェクトでイメージを参照する方法は?
- 15. 管理対象C++/CLIプロジェクトからアンマネージC++を正常に実行することはできますか?
- 16. コアデータ:管理対象オブジェクトの管理対象オブジェクトコンテキストなし
- 17. 管理WinRTのコンポーネント+仮想メソッド
- 18. SNMPから管理対象オブジェクトのレジストリキーを取得する
- 19. ソース管理でVS2015の複数のプロジェクトを対象にする
- 20. 廃棄パターン:管理対象と管理対象を知る方法を教えてください。
- 21. コマンドラインのバージョン管理システム抽象化はありますか?
- 22. 管理対象C++でアンマネージC++例外をキャッチする方法
- 23. 管理対象C++/CLIでインターフェイスを定義する方法
- 24. 管理対象コードからアンマネージコードを呼び出すパフォーマンス
- 25. 管理対象スレッドをフリーズする
- 26. 管理対象アセンブリがx86、x64またはAnyCPUであるかどうかをプログラムで確認する方法はありますか
- 27. VIM:VimからVisual Studioソリューション/ makefileプロジェクトを簡単に管理する方法はありますか?
- 28. 管理対象と非管理対象のアプリ内製品の違いは?
- 29. MSDN Dispose()の例で誤りがありますか? (nullに管理対象の参照を設定する場合)
- 30. Javaでメソッド参照を渡す方法はありますか?
どのようなC++アセンブリですか?おそらく、WinRTのすべてのコアアセンブリは既に自動的に参照されています。選択する参照ダイアログに追加の標準アセンブリはありません。 –
@Jeremy 'Platform.IDisposable'を解決するために、.NETアプリケーションに' Microsoft.VCLibs'への参照を追加する必要があるようです(副次的に、 'System.IDisposable '、しかしそれは起こらない...)。ただし、参照として追加すると、展開時に問題が発生するようです。おそらくDev Previewのプレビューです。 –
ええ、私はMicrosoft.VCLibsに気づき、それを試しました、そして、それはそれが定義されているように見えますが、配備時にエラーが発生しています。パッケージングの内容を調べなければならないでしょう - おそらく、VCLibsはパッケージに含まれていなければなりませんか?誰でもこれを働かせることができますか? –