2016-08-05 11 views
7

通常のWindowsデスクトップ開発からASP.NET Core MVCに移行するのに苦労しています。私が遭遇している1つの問題は、私のソリューションを作ることです。私は、VS 2015に付属しているデフォルトのプロジェクトからUI関連ではないものをすべて削除し、分離したプロジェクトに入れたいと思います。.NET標準クラスライブラリでdynamicを使用できますか?

ASP MVCコアが.NETCoreAppに、クラスライブラリプロジェクトが.NETStandardを参照していることがわかりました。

私の問題は、クラスライブラリで動的なkeyworkdを使用する必要があり、それをサポートしていないことです。 MVCプロジェクトは問題なくサポートしています。私はdifferenteの.NETバージョンのためだと思います。

  1. NETStandardとNETCoreAppの違いは何ですか?

  2. MVCプロジェクトと同じリファレンスを使用するクラスライブラリを作成できるので、ダイナミックキーワードを使用できますか?

  3. また、すべてのドメイン、インフラストラクチャなどが同じ場所にある1つのプロジェクトソリューションに固執すべきですか?

答えて

4

はい、UI以外のコードを別のライブラリに配置することは可能です。あなたが推測したように、はアプリケーション(コンソールまたはウェブ)用、netstandard1.Xはクラスライブラリ用です。

.NET標準クラスライブラリでは、dynamicキーワードに問題はありません。あなたはNETStandard.Libraryを参照する必要があります。ここでは必要最小限の作業ライブラリの例です:

てMyLibrary/project.json

{ 
    "description": "My awesome library", 
    "dependencies": { 
     "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
     "netstandard1.3": { } 
    } 
} 

それはこのように同じソリューションの一部だ場合は、このライブラリを参照することができますあなたのASP.NETコアWebアプリケーション:

{ 
    (... other stuff) 

    "dependencies": { 
    "MyLibrary": { 
     "target": "project" 
    } 
    } 
} 
関連する問題