2015-12-01 21 views
9

WebAPI(ASP.NET 5を使用)と消費するUWP Appの共通オブジェクト(主にDTO)を含むクラスライブラリを作成しようとしています。しかし、私はまだそれが他の両方のプロジェクトから参照できるようにクラスライブラリを作成する方法を考え出していません。私がこれまで試してみました何UWPとASP.NET 5のクラスライブラリを参照してください


を第一に、私はウェブの下に見つけることができますクラスライブラリ(パッケージ)を、試してみました。ライブラリのこのタイプは、問題なくASP.NETプロジェクトから参照することができますが、UWPプロジェクトからそれを参照しようとしたとき、私は次のメッセージが出ます:

A reference to 'ClassLibrary1' could not be added. 

次へ]を、私はクラスライブラリ(Windowsのを試してみましたユニバーサル)Windows>ユニバーサルで見つけることができます。これは、簡単にUWPプロジェクトから参照することができますが、ASP.NETからそれを参照しようとすると、私が手:

The following projects are not supported as references : 

    - The project ClassLibrary2 has a target framework that is incompatible or has version higher than the current project and cannot be referenced. 

をだから、私はASP.NETの両方で使用することができるクラスライブラリを作成するにはどうすればよいです5プロジェクト UWPプロジェクトですか?

答えて

7

必要なものは、ポータブルクラスライブラリ(Windowsの下)です。

PCL

あなただけのASP.NET 5およびWindows 10をターゲットしているので、あなただけのこれら二つのプラットフォームを制限することができますが、ない「エラーは、」より多くのプラットフォームをサポートするにはありません(それはのどのくらいを制限することができます共有APIは利用可能です)。

PCL 2

+0

ありがとうございます。これはASPの間は素晴らしいです。NET 5は 'dnxcore50'(長期的には私の目標)をターゲットにしています。しかし、 'dnx451'をターゲットにすると、 'msporlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'と 'System.Runtime、Version = 4.0'の両方に'タイプ 'IEnumerable 'が存在します。 .20.0、Culture =ニュートラル、PublicKeyToken = b03f5f7f11d50a3a '\t' - それについて何かできますか? –

+1

明らかに、彼らが取り組んでいるいくつかのタイプの複数のバージョンを持つ[既知の問題](https://github.com/dotnet/coreclr/issues/1228)です。 Project.json内の参照を問題のように探してみることができます。 – Bart

3

.Net Standard class libraryは、ポータブルクラスライブラリの後継として考えるべきです。どちらも、異なる.NETプラットフォーム間でコード(この場合はモデルオブジェクト/ DTO)の共有を容易にすることを目的としています。

Visual Studio 2017では、.Net Standardクラスライブラリテンプレートを選択できるようになりました。このクラスライブラリは、.NET標準の異なるバージョンを対象にすることができます。対象とする.Net Standardのバージョンは、どの.NETプラットフォーム間で共有コードを使用するかによって異なります。

この特定の質問については、Universal Windows Platform(UWP)アプリとAsp.Net Coreアプリをサポートしたいと考えています。したがって、これらのプラットフォームの両方をサポートする.Net Standardのバージョンを確認するには、compatibility tableを参照する必要があります。この場合は、.Net Standard 1.4となります。 .Net Standard 1.4をターゲットにするようにクラスライブラリを設定したら、UWPおよびAsp.Netのコアプロジェクトからクラスライブラリへの参照を追加できます。

  • Introducing .NET Standard
  • Video Series on .NET Standard

      (これは特に良いです)
    1. .Net Standard FAQ
    2. :より良いネット標準が何であるか、それは、コードの共有を促進する方法を理解するために

      は、私は次のことを検討することをお勧め
  • 関連する問題