手動で編集したプロジェクトファイルを必要とし、追加のをデフォルトにTargetFrameworkと、基本的に変更しTargetFrameworks。そして、あなたは言及モニカをして、セパレータ。
また、手動で、またはVS Nuget Package Managerを使用して、条件付きのItemGroupにNugetパッケージ参照を配置できます。
.csprojは次のようになります。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.6;net452</TargetFrameworks>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net452'">
<PackageReference Include="Microsoft.Azure.DocumentDB">
<Version>1.12.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.6'">
<PackageReference Include="Microsoft.Azure.DocumentDB.Core">
<Version>1.1.0</Version>
</PackageReference>
</ItemGroup>
</Project>
ドキュメントが不足しているために最近行っている別の回避策は、VS2015でプロジェクトを作成し、利用可能なドキュメントとインテリセンスを使用してproject.jsonを作成し、VS2017でソリューションを開き、組み込みのアップグレードを使用することです。次に、csprojファイルを見て、その構成を行う方法を理解します。
モニカーなしでより難解なターゲットをマルチターゲット化する:
マイクロソフト:
PCLは推奨されません+
PCLはサポートされていますが、パッケージ作成者は代わりにnetstandardをサポートする必要があります。。
ポータブルプロファイルを対象とする場合は、事前定義されたモニカがないためTargetFrameworkIdentifier
、ポータブルプロファイルも、、TargetFrameworkVersion
およびを推測できませんTargetFrameworkProfile
。また、コンパイラ定数は自動的に定義されません。最後に、すべてのアセンブリ参照を追加する必要があります。デフォルトでは提供されていません。
以下のこの例は、dynamic
キーワードを使用したプロジェクトから取得したため、さらにMicrosoft.CSharp
アセンブリが必要であり、さまざまなターゲットの参照を確認できます。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.5;net40;portable40-net45+sl5+win8+wp8</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='portable40-net45+sl5+win8+wp8'">
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile158</TargetFrameworkProfile>
<DefineConstants>$(DefineConstants);PORTABLE158</DefineConstants>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netstandard1.5'">
<PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
<PackageReference Include="System.ComponentModel" Version="4.3.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net40'">
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='portable40-net45+sl5+win8+wp8'">
<Reference Include="Microsoft.CSharp" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows" />
</ItemGroup>
</Project>