Croix-plate-forme de gestion des noms de fichiers .NET de Base

Comment gérer nom de fichier dans System.IO classes dans une croix-plate-forme de manière à le faire fonctionner sur Windows et Linux?

Par exemple, j'ai écrit ce code qui fonctionne parfaitement sur Windows, toutefois, il ne faut pas créer un fichier sur Linux Ubuntu:

var tempFilename = $@"..\Data\uploads\{filename}";
using (FileStream fs = System.IO.File.Create(tempFilename))
{
    file.CopyTo(fs);
    fs.Flush();                    
}

OriginalL'auteur Rem | 2016-07-03