Visual Studio 2015 Update 3を使用していて、 *.csproj
ポータブルクラスライブラリを.NETStandard1.x
をターゲットに設定しています。
Nancy 2.0.0-barneyrubble nugetパッケージを参照できるようにするには、ポータブルクラスライブラリを.NETStandard1.6
にアップグレードする必要があります。 ただし、そうするとプロジェクトがビルドできなくなります。
Visual Studioでビルドしようとしたり、msbuildを使用したりすると、次のエラーが報告されます。
プロジェクトが「.NETPlatform、Version=v5.0」フレームワークを参照していません。 project.jsonの「frameworks」セクションに「.NETPlatform、Version = v5.0」への参照を追加してから、NuGet復元を再実行します。
project.json
ファイルは次のとおりです。
{
"supports": {},
"dependencies": {
"Microsoft.AspNetCore.Owin": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"Nancy": "2.0.0-Pre0",
"NETStandard.Library": "1.6.1"
},
"frameworks": {
"netstandard1.6": {}
}
}
ただし、コマンドラインからdotnet restore
とdotnet build
を使用してプロジェクトをビルドすることはできます。
この問題はナンシーに固有のものではないことを私は知っています。 それでも、誰かがこの問題の回避策を見つけたかどうか知りたいです。 または、ナンシー自体を構築するときに、より低い.NET標準バージョンを使用できる可能性がある場合はどうでしょうか。
Visual Studio 2015Update3を使用するだけでは十分ではないと思います。 VisualStudio用のdotnet/webツールは帯域外で出荷されるため、ここで最新バージョンを入手する必要があります。
@khellang私はすでに.NETCoreツール(コマンドラインとVisual Studio 2015統合の両方)をインストールしていました。 そして、.NETStandard1.3クラスライブラリを問題なく構築できます。 ナンシーを参照できるようにするには、1.6が必要なだけです。 そして、それは構築されません。
うーん。 これを見たことがありますか?
ありがとう-確かに、これを*.csproj
ファイルの最後に追加するとうまくいきました:
<PropertyGroup>
<NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
</PropertyGroup>
念のため、このトピックに関するブログ投稿を書きました。
最も参考になるコメント
念のため、このトピックに関するブログ投稿を書きました。