新しい DNX ビルド アプローチを使用して C# ライブラリ プロジェクトを作成するのがどれほど難しいかを確認するために、POC を作成しています。VS 2015 をインストールして実行しています: dnu --version 1.0.0-beta4-11566。私の c# ライブラリは引き続き .net 4.0 をサポートする必要がありますが、project.json + nuget 3.0 で出てくる新しいビルド/nuget を利用したいと考えています。そこで、1 つのライブラリ アプリを作成し、それをコンソール アプリで使用しようとしました。
1) ClassLibrary1
2) ConsoleApp1
ClassLibrary1 project.json
{
"version": "1.0.0-*",
"description": "poc",
"authors": [ "Patrick" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"Newtonsoft.Json": "6.0.8",
"Microsoft.Bcl": "1.1.10"
},
"frameworks": {
"net40": { }
}
}
ConsoleApp1 project.json
{
"version": "1.0.0-*",
"description": "Another test",
"authors": [ "Patrick" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"ClassLibrary1": "1.0.0"
},
"commands": {
"MyProj": "MyProj"
},
"frameworks": {
"net40": {},
"dnx451": {}
}
}
フレームワーク dnx451 を削除できると思っていましたが、私のコンソール アプリは dnx451 (dnx . run) なしでは動作しません。ただし、dnu build を使用してビルドします!!! なんで?これは、dnx451 を除外して実行しようとしたときに発生するエラーです。
System.InvalidOperationException: ターゲット フレームワーク 'DNX,Version=v4.5.1' の次の依存関係を解決できませんでした: Microsoft.Bcl 1.1.10 Newtonsoft.Json 6.0.8