2016-12-05 4 views
2

Visual Studio 2017プロジェクト内でのクロスターゲティングの設定方法を習得していないため、サンプルを見つけることができませんでした。NuGet 4.0とVisual Studio 2017を使用したクロスターゲティングフレームワーク

私は.NET Standard 1.5プロジェクトを使い始めました。単純にしておくために、.NET Standard 1.6を追加しようとしています。ドキュメントを正しく理解していれば、project.jsonまたはnuspecファイルを混乱させることなく、これをcsprojファイルの中で実行できるはずです。

私は、これらの値のすべてを試したが、どれも動作するようには思えません:

<TargetFrameworks>netstandard15;netstandard16</TargetFrameworks> 
<TargetFrameworks>netstandard1.5;netstandard1.6</TargetFrameworks> 
<TargetFrameworks>.NETStandard,Version=v1.5;.NETStandard,Version=v1.6</TargetFrameworks> 

これは私が機能上で見つけることができると、それは完全な例が含まれていない文書の唯一の源である:

このPOSで説明したように、私は、最新のVisual Studio 2017上で動作するようにこれを得ている

https://docs.nuget.org/ndocs/schema/msbuild-targets

https://docs.nuget.org/ndocs/create-packages/supporting-multiple-target-frameworks

+1

MSBuild for .NETコアプロジェクトではまだIMHOでマルチターゲティングについて議論したことはありません。マイクロソフトがさらなる情報を提供しない限り、今は単一のプラットフォームをターゲットにする必要があります。あなたが紹介したドキュメントはNuGetのみであり、関連性があるとは思わない。 –

+0

AH!はい、それは完全に意味があります。 MSBuildがNuGetで使用されているタグを認識するようになったのは、私の頭の中でどのように詰まっているのか分かりません。そんなばかげた質問に丁寧に答えてくれてありがとう。 –

+0

まあ、私はあなたが非常に良い質問をしたと信じていますが、適切な時期にはありません。 MicrosoftはMSBuildのサポートを.NET Coreに戻し、VS2017でプレビュービルドを出荷しました。したがって、 'project.json'の複数のフレームワークをMSBuild構文に変換する方法はまだわかりません。時が教えてくれる。 –

答えて

2

t https://blogs.msdn.microsoft.com/dotnet/2016/10/19/net-core-tooling-in-visual-studio-15/それを行う正しい方法です。私csprojファイルは、次のようになります。

<PropertyGroup> 
    <TargetFrameworks>netstandard1.6;net452</TargetFrameworks> 
</PropertyGroup> 

Visual Studio 2017 RC release notesも機能としてリストされ、これを持っている(.NETのコアとドッカー下):1つのプロジェクトで

  • クロスターゲット複数のターゲットフレームワーク。

私の最初の間違いは、最初にプロジェクトを作成したときにプロパティーがTargetFrameworkと呼ばれていたため、複数のターゲットを追加しようとしましたが、VSはまったく好きではありませんでした。それはちょうどその後クラッシュする...だからTargetFrameworksに名前を変更し、それは動作するはずです。

関連する問題