Porting to .NET standard version, you may be source identical to a portable library, but the platforms supported may not.
For example .NET standard 1.6
might be the lowest version that has your api's available from portable Profile47
. Profile47
supports .net 4.5 or later, nut .NET Standard 1.6
only supports 4.6.1 and later!
With the new multi-targeting with the new msbuild 15 csproj/fsproj (also VS2017) is it possible to compile for both a Portable Library and .Net Standard at the same time to make the transition easier?
The prior answer is accurate but it's not actually enough. You need to reference the Portable language targets to get the correct behavior. There also may be other SDK references and you'll probably want implicitly defined
ifdefs
likePROFILE328
.I wrote a NuGet package you can add to your project that "does the right thing" here:
https://github.com/onovotny/MSBuildSdkExtras
Edit: csproj would look like this: