Closed dougbu closed 1 year ago
This PR is pretty big and complicated. I recommend going through the commits individually and concentrating on areas you're at least slightly familiar with.
@phenning, I included you because I'm removing some comments you added. Note we already have a netstandard2.0
assembly w/ none of the restrictions of the former Profile259 assembly.
@stephentoub and @GrabYourPitchforks, you're likely most interested in the first two of the three commits mentioning TranscodingStream
, especially the middle one.
To help track which commits have been thoroughly checked, please tick those you are signing off on:
ConcurrentDictionary
classUriQueryUtility
because WebUtility
is available everywhereNameValueCollection
everywhereMaxDepth
support in NetCore assemblyUseDataContractJsonSerializer
support in NetCore assemblyTranscodingStream
and related files from dotnet/runtimeTranscodingStream
and related code to compile and run hereTranscodingStream
in JSON and XML formattersMediaTypeMappings
support in NetCore assemblyIRequiredMemberSelector
support in NetCore assemblynetstandard1.3
TranscodingStream
..." commit)AggressiveInlining
requestsXmlReader
comments/ping reviewers
Rebased and addressed @stephentoub's comments.
@stephentoub any other thoughts❔ If none, please check the non-NameValueCollection
commits off in the earlier checklist that aren't checked yet. They're all TranscodingStream
related but I understand if parts aren't of interest to you. We could find someone to double-check the project files for example (if you prefer).
Other reviewers: Please look at the NameValueCollection
commit.
please check the non-NameValueCollection commits off in the earlier checklist that aren't checked yet. They're all TranscodingStream related but I understand if parts aren't of interest to you. We could find someone to double-check the project files for example (if you prefer).
I don't have rights to click those checkmarks. I only reviewed the "Adjust TranscodingStream and related code to compile and run here" commit and it looked fine other than my feedback you addressed.
I don't have rights to click those checkmarks.
That's a bit odd but thanks for letting me know where you'd focused. Much appreciated.
To other reviewers: I also ticked the checkboxes for "Copy TranscodingStream
…" because that was just a literal cp
from my dotnet/runtime clone and "!fixup! Remove added AggressiveInlining
requests" because that was in response to @stephentoub's comments. This leaves us w/ 3 unreviewed commits.
@Tratcher I addressed your comment on the "Use TranscodingStream
…" commit in the latest "!fixup!" commit. Would you say you're signing off on those two commits❔
Still one open question on versioning and public API surface to you @Tratcher
I've reviewed everything but the tests. :shipit:
Move NetCore project to use .NET SDK
netstandard1.3
Profile259
akaportable-net45+wp80+win8+wpa81
, approximatelynetstandard1.0
netstandard1.3
and upReact to using Newtonsoft.Json.Bson everywhere
BsonWriter
mentions entirelyRemove unnecessary
ConcurrentDictionary
classProfile259
Remove
UriQueryUtility
becauseWebUtility
is available everywhereWebUtility
continues to behave about the sameWebUtility
being apublic
classWebUtility.UrlEncode(...)
encoding to uppercaseUriQueryUtility.UrlEncode(...)
Add simple classes to NetCore project
ICloneable
copy to get more classes compilingMediaTypeHeaderValueExtensions
InvalidEnumArgumentException
copy to simplify code and testingnetstandard1.3
(or available packages) but easily duplicatedRemove unnecessary NetCore-specific GlobalSuppressions.cs file
Use
NameValueCollection
everywherenetstandard1.3
Add
MaxDepth
support in NetCore assemblyMaxDepth
inBaseJsonMediaTypeFormatter
Add
UseDataContractJsonSerializer
support in NetCore assemblyXsdDataContractExporter
remains unavailableReadOnlyStreamWithEncodingPreamble
causes tests to hit dotnet/runtime#80160Copy
TranscodingStream
and related files from dotnet/runtimeAdjust
TranscodingStream
and related code to compile and run hereUse
TranscodingStream
in JSON and XML formattersReadOnlyStreamWithEncodingPreamble
and its testsnetstandard1.3
UseDataContractJsonSerializer
wasfalse
true
netstandard1.3
version of this formatter when property istrue
Add
MediaTypeMappings
support in NetCore assemblyAdd
IRequiredMemberSelector
support in NetCore assemblyRemove unnecessary NETFX_CORE workarounds
DefaultContractResolver
,GuidAttribute
,TypeDescriptor
,XmlElement
,XmlNode
classesIRequiredMemberSelector
interfaceRequestMessage.CreateResponse()
extension methodnetstandard1.3
JsonContractResolver
use is something of a late Newtonsoft.Json version reactionIRequiredMemberSelector
Work around missing features in
netstandard1.3
SerializationAttribute
is not availableException
is not serializableDefaultContractResolver.IgnoreSerializableAttribute
is not availableStream.(Begin|End)(Read|Write)
andStream.Close()
are not availableMultipartFormDataStreamProvider
whitespaceEnsure a couple more assemblies are available