使用project.json
,可以针对不同的目标框架,为每个目标框架指定不同的依赖关系和条件编译符号。
我需要使用.csproj
项目格式对.NET Standard类库执行相同的操作。我知道how to target multiple frameworks,但是你如何为每个?
(如果"条件编译"不清楚,我需要能够在代码中指定预处理程序指令,例如#if NET452
。)
这个有用的好例子是处理appsettings时。使用完整的.NET Framework,您需要引用System.Configuration.dll
并完成ConfigurationManager
。 .NET Core configuration是一个完全不同的野兽。
答案 0 :(得分:1)
The accepted answer from your previous question which you linked to已有答案:<ItemGroup>
对Condition
进行$(TargetFramework)
测试。从答案中略微修改了代码:
<ItemGroup Condition="'$(TargetFramework)' == 'net452'">
<PackageReference Include="Microsoft.Azure.DocumentDB" Version="1.12.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.6'">
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="1.1.0" />
</ItemGroup>
对于预处理程序指令,您无需执行任何操作。像NET452
或NETSTANDARD1_6
这样的指令是自动定义的。