2016-12-01 8 views
1

netstandardライブラリの使用に関する質問があります。Netstandardライブラリ - ポータブルクラスの参照

UWPプロジェクトがあるとします。このプロジェクトでは、バージョン1.4以降にnetstandardライブラリをインストールできます。私はnetstandardバージョン1.2でPCLライブラリを作成しており、このライブラリをUWPプロジェクトのリファレンスとして追加しています。私はPCLライブラリにいくつかのナゲットパッケージを追加しています。このナゲットはネットスタンダードバージョン1.2にも含まれています。

  1. UWPプロジェクトのnugetパッケージを参照せずに使用できますか?私はどこかで私ができることを読んだが、自分でそれを働かせることはできない。
  2. 作成したPCLライブラリからのみnugetパッケージを使用すると、すべてがうまくいきますが、実行時に参照されたnugetライブラリが見つからない例外がPCLによってスローされます。ナゲットは最後のbinディレクトリにコピーされないので、見つけられません。それをどう扱うか?このライブラリをUWPプロジェクトから参照する必要がありますか?
  3. nuget.orgがUWPプロジェクトと異なるPCL netstandard1.2ライブラリ用に異なるライブラリを返す可能性があるため、実際に参照されているナゲットとPCLライブラリから参照されるライブラリが異なる場合があります。したがって、ランタイム中にPCLライブラリは参照されたdllを見つけるでしょうが、このdllはapriopriateバージョンではありません。

何か不足しているか、そのように動作するはずですか?

上記の問題はユニバーサルWindowsプラットフォームに基づいていますが、問題はより一般的であり、このプラットフォームではないと思います。

+0

あなたの説明は面倒です。いくつかのスクリーンショットを表示したり、それらの "プロジェクト"と "パッケージ"に意味のある名前を付けて支援してください。 –

+0

何が汚いですか?問題を視覚化するためにどのようなスクリーンショットを用意できますか?問題は具体的なパッケージではなく、ライブラリを参照する概念です。 – raV720

答えて

1

UWPプロジェクトのnugetパッケージを参照せずに使用できますか?私はどこかで私ができることを読んだが、自分でそれを働かせることはできない。

私が知る限り、Nugetパッケージを参照することなく使用することはできません。 Nugetは.nuspecファイルにこれらの外部パッケージへの参照を追加するだけです。 nugetパッケージを使用したくない場合は、ライブラリを直接参照することができます。私が作成したPCLライブラリからのみnugetパッケージを使用する場合はC:\Users\<username>\.nuget\packages\<Destination Package>

の下でライブラリを見つけることができ、その後すべてがOKを構築しますが、実行時に、それは、PCLが参照nugetライブラリを見つけることができない例外をスローすることが判明しました。ナゲットは最後のbinディレクトリにコピーされないので、見つけられません。それをどう扱うか?このライブラリをUWPプロジェクトから参照する必要がありますか?

これは、さまざまな原因によって引き起こされる可能性があります。この問題を再現するためのいくつかの手順を教えてください。

私はUWPプロジェクトにnugetの参照を追加する場合nuget.orgがUWPプロジェクトとdfifferent PCL netstandard1.2ライブラリの異なるライブラリを返す可能性があるため、実際の参照nugetは、PCLライブラリから参照ライブラリと異なる場合があります。したがって、ランタイム中にPCLライブラリは参照されたdllを見つけるでしょうが、このdllはapriopriateバージョンではありません。

PCLのライブラリを同じバージョンに更新してください。

関連する問題