0
OS-Specific Behavior
A file path works on your Windows workstation but throws a PathTooLongException on a Linux server. The two operating systems handle case sensitivity, line endings, and path separators differently, and .NET does not magically erase those gaps.
Normalizing paths properly
Stop concatenating strings with backslashes. Use Path.Combine and Path.DirectorySeparatorChar, or better yet, switch to Path.GetFullPath early in the workflow. This removes the guesswork.
- Test file operations against both OS targets in your CI pipeline.
- Do not store user-uploaded files under the application root on Linux; use absolute paths.
- Watch out for hidden characters in filenames when moving between platforms.