- Notifications
You must be signed in to change notification settings - Fork353
Commit2ed73bc
authored
Move NetCore project to use .NET SDK (#380)
Move NetCore project to use .NET SDK- Formatting.NetCore now targets `netstandard1.3` - was `Profile259` aka `portable-net45+wp80+win8+wpa81`, approximately `netstandard1.0` - but Newtonsoft.Json.Bson supports `netstandard1.3` and up- use Newtonsoft.Json.Bson in NetCore projects- can now multi-target NetCore.Test as well- nits: - align src/ Formatting projects as much as possible - align test/ Formatting projects as much as possible - clean up the Microsoft.TestCommon project slightly- note: NetCore project names make no sense but I'm leaving them alone for this PRReact to using Newtonsoft.Json.Bson everywhere- remove deprecated `BsonWriter` mentions entirely- remove legacy BSON writer test workaroundRemove unnecessary `ConcurrentDictionary` class- was not available in `Profile259`- leave tests to confirm correct operation w/ "real" classRemove `UriQueryUtility` because `WebUtility` is available everywhere- leave test to confirm `WebUtility` continues to behave about the same - handle `WebUtility` being a `public` class- change other tests to handle `WebUtility.UrlEncode(...)` encoding to uppercase - unlike `UriQueryUtility.UrlEncode(...)`Add simple classes to NetCore project- use `ICloneable` copy to get more classes compiling - helps NetCore in similar way to existing `MediaTypeHeaderValueExtensions`- use `InvalidEnumArgumentException` copy to simplify code and testing- both not available in `netstandard1.3` (or available packages) but easily duplicatedRemove unnecessary NetCore-specific GlobalSuppressions.cs fileUse `NameValueCollection` everywhere- available (but not serializable) in `netstandard1.3`Add `MaxDepth` support in NetCore assembly- remove an unnecessary suppression about `MaxDepth` in `BaseJsonMediaTypeFormatter`Add `UseDataContractJsonSerializer` support in NetCore assembly- `XsdDataContractExporter` remains unavailable - update XML DCS tests to handle this (previously not in NetCore assembly)- try various workarounds - `ReadOnlyStreamWithEncodingPreamble` causes tests to hitdotnet/runtime#80160 - restriction to UTF8 when writing is a significant issueCopy `TranscodingStream` and related files from dotnet/runtime- my runtime clone was at 88868b7a781f4e5b9037b8721f30440207a7aa42Adjust `TranscodingStream` and related code to compile and run here- add conditions to avoid references to version-specific API- remove references to internal dotnet/runtime code - rewrite some code more generically if performance impact likely minor- use Microsoft.TestCommon instead of directly relying on Xunit in tests- use C# 9.0Use `TranscodingStream` in JSON and XML formatters- remove `ReadOnlyStreamWithEncodingPreamble` and its tests - was insufficient in general and doesn't work correctly in `netstandard1.3` - seedotnet/runtime#80160- now support a much broader set of encodings in JSON and XML formatters - not just UTF8, UTF16BE, and UTF16LE - JSON formatter already supported every encoding when `UseDataContractJsonSerializer` was `false` - no longer have this downside when property is `true` - however, quotas remain unsupported in `netstandard1.3` version of this formatter when property is `true` - XML formatter requirement for an XML declaration in non-UTF8 content was general and is no longer an issueAdd `MediaTypeMappings` support in NetCore assemblyAdd `IRequiredMemberSelector` support in NetCore assemblyRemove unnecessary NETFX_CORE workarounds- use `DefaultContractResolver`, `GuidAttribute`, `TypeDescriptor`, `XmlElement`, `XmlNode` classes- use `IRequiredMemberSelector` interface- use `RequestMessage.CreateResponse()` extension method - all available in `netstandard1.3`- `JsonContractResolver` use is something of a late Newtonsoft.Json version reaction - was held back by missing `IRequiredMemberSelector`Work around missing features in `netstandard1.3`- get classes now included in NetCore assembly compiling- `SerializationAttribute` is not available - therefore `Exception` is not serializable - therefore `DefaultContractResolver.IgnoreSerializableAttribute` is not available- `Stream.(Begin|End)(Read|Write)` and `Stream.Close()` are not available- nit: clean up `MultipartFormDataStreamProvider` whitespace1 parentfc1cf70 commit2ed73bc
File tree
69 files changed
+2770
-2229
lines changed- packages
- src
- Common
- System.Net.Http.Formatting.NetCore
- Internal
- System.Net.Http.Formatting.NetStandard
- System.Net.Http.Formatting
- Formatting
- Parsers
- Internal
- Properties
- System.Web.Http
- test
- Common
- Microsoft.TestCommon
- System.Net.Http.Formatting.NetCore.Test
- System.Net.Http.Formatting.NetStandard.Test
- System.Net.Http.Formatting.Test
- DataSets
- Formatting
- Handlers
- Headers
- Internal
- Mocks
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
69 files changed
+2770
-2229
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
|
Lines changed: 0 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3 | 3 |
| |
4 | 4 |
| |
5 | 5 |
| |
6 |
| - | |
7 | 6 |
| |
8 | 7 |
| |
9 | 8 |
| |
|
Lines changed: 19 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
228 |
| - | |
229 |
| - | |
230 |
| - | |
231 | 228 |
| |
232 |
| - | |
233 | 229 |
| |
234 | 230 |
| |
235 | 231 |
| |
| |||
265 | 261 |
| |
266 | 262 |
| |
267 | 263 |
| |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
268 | 283 |
| |
269 | 284 |
|
Lines changed: 0 additions & 278 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4 | 4 |
| |
5 | 5 |
| |
6 | 6 |
| |
7 |
| - | |
| 7 | + | |
8 | 8 |
| |
9 | 9 |
|
Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + |
0 commit comments
Comments
(0)