22

National Instruments DAQから簡単な温度測定データを読み取りたいWindowsストアアプリプロジェクトに取り組んでいます。ただし、DAQ の DLL ライブラリは .NETFramework 4.0 形式であり、これを Windows ストア アプリ プロジェクトへの参照として追加すると、次のエラーが表示されます

ネットを検索すると、Windowsストアアプリは別の.NETCoreまたはPortable Libraryバイナリへの参照のみを使用する必要があり、完全な.NET 4.0ライブラリを参照できないことがわかりました。似たような悩みを抱えている方も多いと思いますので、何かお散歩のコツはあるのでしょうか?

4

2 に答える 2

12

他の誰かが提供したライブラリの使用に行き詰まっていて、移植可能なバージョンを作成するよう働きかけようとしてもうまくいかない場合は、DLL をホストする別の場所を見つけて連絡するしかありません。それをホストしているものは何でも。たとえば、一部のシナリオでは、ASP.NET Web API ベースのサービスを記述して、完全な .NET Framework を使用できるため、DLL を使用できる場合があります。

明らかに、これは 1 つの問題を別の問題と交換します: Web サービスを実行できるマシンが必要になります。(残念ながら、Microsoft は、Windows ストア アプリを実行している同じマシンでその Web アプリを実行することを公式にサポートしていないと思います。開発ボックスで動作させることはできるかもしれませんが、展開することはできません。 Web アプリ自体は Windows ストアから入手できます)。

ここには簡単な方法はありません。HTTP サービスを介して必要なものすべてを公開するレイヤーと、それらのサービスを利用するためのクライアント側コードを作成する必要があります。また、サービスへのアクセスを保護する方法についても考える必要があります。

サプライヤーに嘆願する方が簡単かもしれません...

理論的には、ライブラリがコア .NET プロファイル以外のものを使用していない場合は、ILDASM と ILASM を使用してコードを逆コンパイルおよび再コンパイルし、その前にポータブル ライブラリに変換することができます。 . ただし、これが商用コードである場合、ライセンス契約に違反する可能性が非常に高く、いずれにせよ機能しない可能性が非常に高くなります。

于 2013-02-05T14:58:37.393 に答える
9

「回避策」は、ポータブル ライブラリとして必要なライブラリのバージョンを作成することです。それだけです。完全なフレームワークを利用できないだけです。

クラス ライブラリをポータブル クラス ライブラリに変換する際の難しさは、ライブラリの機能と使用する BCL の領域に大きく依存します。

于 2013-02-05T13:43:55.313 に答える