-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[Feature] .NET Core 2.1 System.IO API changes #1685
Copy link
Copy link
Open
Labels
🏁 Release: .NET Core 2.xIdentifies work items for the .NET Core 2.x releasesIdentifies work items for the .NET Core 2.x releasesPri1Indicates issues/PRs that are high priorityIndicates issues/PRs that are high priorityPri3Indicates issues/PRs that are low priorityIndicates issues/PRs that are low priorityarea-System.IOdoc-updateUpdate outdated articlesUpdate outdated articles
Milestone
Metadata
Metadata
Assignees
Labels
🏁 Release: .NET Core 2.xIdentifies work items for the .NET Core 2.x releasesIdentifies work items for the .NET Core 2.x releasesPri1Indicates issues/PRs that are high priorityIndicates issues/PRs that are high priorityPri3Indicates issues/PRs that are low priorityIndicates issues/PRs that are low priorityarea-System.IOdoc-updateUpdate outdated articlesUpdate outdated articles
Type
Fields
Give feedbackNo fields configured for issues without a type.
.NET Core 2.1 System.IO API changes
There are a number of behavior changes to System.IO APIs in .NET Core 2.1 and new APIs. This issue summarizes the high level changes and links to relevant documents.
Still Needed:
General
APIs have been modified to better support cross platform code writing and substantially improve performance. Here is a summary of the API changes:
System.IO.PathAPIsPath.GetFullPath()that allows specifying a base path for resolving the pathInitial details are below. I'll be adding more links and details shortly.
Path Validation
To facilitate writing cross platform code, System.IO.Path APIs have had their preemptive error checking simplified. Notably:
Path.GetFullPath()only checks for embedded nulls, null strings, and empty stringsPath.GetDirectoryName()returns null for empty strings, instead of throwingPath.IsPathRooted())Span overloads
https://github.com/dotnet/corefx/issues/25539
Path.GetFullPath overload
https://github.com/dotnet/corefx/issues/25539
Enumeration API changes
https://github.com/dotnet/corefx/issues/25873