2017-05-09 32 views
1

UWP(サイドロードされたアプリケーション)で.NET Frameworkアセンブリを使用します。 UWPは.NET Coreをターゲットにしているので、これは簡単ではありません。UWP - .NET Framework 4.6をターゲットとするアセンブリを使用します。

私は、this articleで説明されているように、仲介Windowsランタイムコンポーネントを作成しようとしています。

は、しかし、私は問題を抱えている:

  • 彼らは、Visual Studio 2015のためのものですので、私は、市場から任意のテンプレートを使用することはできませんし、私は開くことができない私は、Visual Studio 2017
  • を使用していますVisual Studio 2017では、プロジェクト(編集されたcsprojファイルを持つプロジェクト)はVisual Studioのそのバージョンと互換性がないと言われているため、2017
  • この記事のビルド後のスクリプトはwinmdidlを使用していますが、それは私のPATHフルパスを入れるには"C:\Program Files (x86)\Windows Kits\10\bin\x86\winmdidl"(それがスー)
  • winmdidlコマンドはさらに、私は2つの質問したエラーerror W1005: Exception Unknown exception

を返しますサンプルや記事がC++「プロキシ」プロジェクトを使用して、私はC#でロジックを

  • を書くことができますC + +コードを使用しないで仲介コンポーネントで? (私は、サードパーティの.NETアセンブリで定義されているUWPからいくつかのメソッドを呼び出すことができるだけです)
  • .NET Frameworkでコードを呼び出すための "Brokered Windowsランタイムコンポーネント"メソッドは煩雑に思えるかもしれませんいくつかのWindowsサービスや他の形式のRESTサービスを書いて、localhostを通してそれと通信するには?それは私がすでにマシン上のサードパーティ製ツールと通信するために使用している方法です。パフォーマンスと複雑さは、仲介コンポーネントアプローチに有利ですか?
+1

あなたのシナリオを解決するためのお手伝いをしますね。 WPFアプリケーションを作成し、デスクトップブリッジを使用してappxパッケージに変換します。これは、両方の、.netプロジェクト(wpf)とuwpプロジェクトを持っているソリューションを作成します。あなたは、Brokered Windowsランタイムコンポーネントを使用するときのような類似のソリューションで終わるべきです。 – Liero

+0

しかし、このアプローチは、既存のUWPプロジェクトから.NETコードを参照するために使用できますか?それを試して、私の質問を更新します、チップのおかげで。 –

+0

既存のC#UWPアプリを「ブリッジされたアプリ」に変換するのは簡単ではないし、アプリに多くの変更が加えられているようだ。だから私はローカルRESTサービスがまだその通信を行う最も簡単で堅牢な方法だと思います。 –

答えて

2

デスクトップブリッジ機能を使用すると、Windowsランタイムブローカコンポーネントが不要になります。詳しくはこちらのページを参照してください:

https://developer.microsoft.com/en-us/windows/bridges/desktop

私はAppServiceを使用して、このsampleが、私はまだ試していませんでしたが、これは仕事ができる

関連する問題