WIP: Adding new SslStream API#11265
Conversation
If we not going to use 'netstandard16' (because it brings in UWP which we don't support), then we need to explicitly have both 'net463' (for Desktop) and 'netcoreapp10' (for CoreFx cross-plat). |
|
The folder names under the 'ref' folder for the "older" contract versions should only be major.minor and not the 3 digits you have:
should be named:
|
|
@davidsh I took the 4.0.0 example from System.Net.Primitives. With the following: I'm getting |
The "4.0.0" is ok to use in the project.json. I was referring to the folder name as the subfolder in the 'ref' directory. That is usually only major.minor. |
|
@davidsh see https://github.com/dotnet/corefx/tree/master/src/System.Net.Primitives/ref/4.0.0 . If the format is incorrect, please open a bug. |
I think @ericstj can answer this. System.Net.Primitives was done a while ago before things settled down. The current best practice as I understood it when I did System.Net.Http 4.0 -> 4.1 is to use only 2 digits. I don't think, though, that we are doing PR's everywhere in the codebase to make everything consistent, though. |
| <PackageTargetFramework Condition="'$(TargetsUnix)' == 'true'">netstandard1.6</PackageTargetFramework> | ||
| <NuGetTargetMoniker Condition="'$(TargetGroup)' == ''">.NETStandard,Version=v1.3</NuGetTargetMoniker> | ||
| <NuGetTargetMoniker Condition="'$(TargetsUnix)' == 'true'">.NETStandard,Version=v1.6</NuGetTargetMoniker> | ||
| <PackageTargetFramework Condition="'$(PackageTargetFramework)' == ''">netstandard1.6</PackageTargetFramework> |
There was a problem hiding this comment.
After rebasing on master PackageTargetFramework shouldn't be specified anymore
f6dba08 to
2f45b69
Compare
|
Thanks @bartonjs. Giving that a try. |
|
I'm now getting an apicompat error saying that the ShutdownAsync member is missing from net46 when building |
| }, | ||
| "frameworks": { | ||
| "netstandard1.3": { | ||
| "netstandard1.6": { |
There was a problem hiding this comment.
See #11321.
Looks like this should be netstandard1.7 instead of netstandard1.6. (Currently docs are wrong).
There was a problem hiding this comment.
Correct you cannot add more apis to netstandard16. Given this API doesn't exist anywhere else you actually should add it to only .NET Core similar to what @ericstj is doing in #11272.
@weshaggard We just found out that the docs are wrong and that we should have listed it as netstandard1.7. Since that maps to .NET Framework 4.6.3 (vNext) and we plan to add this API there as well.
There was a problem hiding this comment.
Currently all the netstandard17 work is happening in the dev/api branch and is only a placeholder for now. We are going to soon be shifting to exposing APIs in .NET Core specifically first and then later adding them to netstandard. This enables people to add APIs just for .NET Core much more agile and not be blocked by our restrictions on .NET Standard.
There shouldn't be 'net46' build with the new API (since it doesn't exist in .NET 4.6) There should only be a 'net463' build with the new API. |
| @@ -0,0 +1,162 @@ | |||
| // Licensed to the .NET Foundation under one or more agreements. | |||
There was a problem hiding this comment.
You don't need this ref/4.0.0 folder. We will get this asset from the last stable package.
There was a problem hiding this comment.
@weshaggard Is that a new procedure? Because historically we always create the ref/"old contract" folders. See System.Net.Http library.
There was a problem hiding this comment.
Yes that is fairly recently @ericstj did some tooling so we don't need to keep these older builds actually compiling in the repo and instead just grab them from our last stable package.
|
Thanks @weshaggard . I can now build I've tried different test/FunctionalTests monikers within the The error is: |
cab6a01 to
3594a3d
Compare
| <ProjectGuid>{A55A2B9A-830F-4330-A0E7-02A9FB30ABD2}</ProjectGuid> | ||
| <OutputType>Library</OutputType> | ||
| <NugetTargetMoniker>.NETStandard,Version=v1.3</NugetTargetMoniker> | ||
| <NuGetTargetMoniker>.NETCoreApp,Version=v1.1</NuGetTargetMoniker> |
There was a problem hiding this comment.
If this is set to netcoreapp1.1 you need to have the matching section in your project.json file.
|
This is being merged into #11489. |
@ericstj @weshaggard @davidsh @bartonjs PTAL
Creating a new, simplified PR only for the API addition based on master.
The current error is:
The error is probably because of the switch to netstandard1.6 which includes UWP.
What are the strings (I couldn't find documentation) to make System.Net.Security 4.1.0.0 a net463 contract only (no netstandard) while keeping 4.0.0.0 part of netstandard1.3?