-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[Feature] .NET Core 2.1 System.IO API changes #1685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thank you @JeremyKuhne! I'll be adding this to our .NET Core 2.1 project. |
I put together some blog posts covering the details that can be used as a starting point: https://blogs.msdn.microsoft.com/jeremykuhne/2018/03/08/system-io-in-net-core-2-1-sneak-peek/ |
When we do these updates we should clarify legacy behavior. https://github.com/dotnet/corefx/issues/26008 brought up the fact that we didn't do whitespace trimming on Unix platforms. Please sync with me to ensure that you've got accurate details across the platforms/versions. :) |
Thanks @JeremyKuhne. We'll do and also ping you for reviews. 😄 |
Moving this to the backlog until we're actually ready to start working on this |
In netcoreapp2.1 the behavior of the file system handling of invalid characters changed. This broke the expectations of a number of our tests. https://github.com/dotnet/docs/issues/4483
.NET Core 2.1 System.IO API changes - #1685 |
|
Bump. The lack of updated docs is starting biting projects migrating from .NET Framework. |
.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.Path
APIsPath.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
The text was updated successfully, but these errors were encountered: