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. WinRT XAML - 管理対象と非管理対象 - どのように動作しますか?
- 2. ネイティブC++ COMコンポーネントで管理対象DLLから起動されたイベントをキャッチ
- 3. ビュースコープ管理対象Bean内のオブジェクトとコンポーネントをバインドする方法はありますか。
- 4. マトリックスを管理対象外から管理対象に再割り当て
- 5. shared_ptrを使用して、すでに参照カウントされた管理対象オブジェクトを管理する方法は?
- 6. EntityManagerからすべての管理対象エンティティを取得する方法はありますか
- 7. OLEDBプロバイダは管理対象ですか、管理対象外ですか?
- 8. 管理対象クラスからネイティブ構造体へのコピー
- 9. 管理対象外のプラグインを組織から戻す方法
- 10. なぜ管理対象オブジェクトとコンテキストの間に弱い参照がありますか?
- 11. C++ Win32からの管理対象コンポーネントのデバッグ
- 12. クラウドフォーメーション別のスタックから管理ポリシーを参照する方法
- 13. 2つの管理対象x86/x64 dllを1つの管理対象AnyCpuライブラリに結合する方法はありますか?
- 14. レルムDBの管理対象/非管理対象オブジェクトとは何ですか?
- 15. 管理対象クラスに管理対象外/非管理対象メンバーを追加する
- 16. 管理対象属性をMagentoでオブジェクトにエコーする方法はありますか
- 17. オブジェクト型System.Web.UI.WebControls.ListItemから既知の管理対象プロバイダのネイティブ型へのマッピングがありません
- 18. オブジェクト・タイプWebMatrix.Data.DynamicRecordから既知の管理対象プロバイダのネイティブ・タイプへのマッピングがありません
- 19. 例外:オブジェクト・タイプSystem.Data.Spatial.DbGeographyから既知の管理対象プロバイダのネイティブ・タイプへのマッピングがありません
- 20. DLL(管理対象および非管理対象)内の関数のリストを取得する方法は?
- 21. POJOからSpring管理対象オブジェクトを呼び出す方法は?
- 22. 管理対象と非管理対象物理エンジンのC#
- 23. (GlassFish)サーバーからJMS管理対象オブジェクトを取得する方法
- 24. WinRT XAMLでは、外部/別のアセンブリ/プロジェクトでイメージを参照する方法は?
- 25. 管理対象C++/CLIプロジェクトからアンマネージC++を正常に実行することはできますか?
- 26. 管理対象ファイルポータル
- 27. SNMPから管理対象オブジェクトのレジストリキーを取得する
- 28. 「参照されたコンポーネント」参照を「見つかりませんでした」を処理する方法。
- 29. コアデータ:管理対象オブジェクトの管理対象オブジェクトコンテキストなし
- 30. .Netの管理対象リソースと非管理対象リソース
どのようなC++アセンブリですか?おそらく、WinRTのすべてのコアアセンブリは既に自動的に参照されています。選択する参照ダイアログに追加の標準アセンブリはありません。 –
@Jeremy 'Platform.IDisposable'を解決するために、.NETアプリケーションに' Microsoft.VCLibs'への参照を追加する必要があるようです(副次的に、 'System.IDisposable '、しかしそれは起こらない...)。ただし、参照として追加すると、展開時に問題が発生するようです。おそらくDev Previewのプレビューです。 –
ええ、私はMicrosoft.VCLibsに気づき、それを試しました、そして、それはそれが定義されているように見えますが、配備時にエラーが発生しています。パッケージングの内容を調べなければならないでしょう - おそらく、VCLibsはパッケージに含まれていなければなりませんか?誰でもこれを働かせることができますか? –