私はライブラリに取り組んでおり、従来の .NET Framework だけでなく .NET コア用にもコンパイルできるようにしたいと考えています。私は、.NET Framework 4.5 で問題なく動作する従来の VS ソリューションから始めました。次に、次のproject.json
ようなファイルを追加しました。
{
"version": "0.1.3-*",
"frameworks": {
"net45": {
"dependencies": {
}
},
"dnxcore50": {
"dependencies": {
"NETStandard.Library": "1.0.0-rc2-23811",
"System.Net.Http": "4.0.1-beta-23516",
"System.Security.Principal": "4.0.1-beta-23516",
"System.Security.Cryptography.Hashing.Algorithms": "4.0.0-beta-23225",
"System.Security.Cryptography.X509Certificates": "4.0.0-beta-23516",
"System.Xml.XDocument": "4.0.11-beta-23516"
}
}
}
}
今では .NET コアで正常にコンパイルされますが、 VS 2015.1は、project.json
. 次のコードをファイルに追加しました。
"runtimes": {
"win": {}
}
Frameworks/net45 レベルで追加しようとしましたが、これは役に立ちませんでした。ルートレベルで追加する必要がありますが、次のエラーが表示されます
< assembly > は、DNXCore,Version=v5.0 上の < assembly >のコンパイル時参照アセンブリを提供しますが、win と互換性のあるランタイム アセンブリはありません。
dnxcore で project.json ファイルを使用する方法に関するドキュメントは多数ありますが、従来の .NET フレームワークで project.json を使用する方法に関するドキュメントはほとんどありません。今後数年間で最も重要なフレームワークとなる従来の .NET フレームワークとの互換性を維持しながら、開発者がライブラリを dnxcore に移植することを思いとどまらせるため、これは残念です。