【问题标题】:Deleting files in a cross platform compatible manner in .NET Core在 .NET Core 中以跨平台兼容的方式删除文件
【发布时间】:2017-10-07 05:32:03
【问题描述】:

我想删除 .NET Core 2.0 应用程序中的文件,但找不到 File.Delete 的任何替代方法。

在创建或读取文件时,我们鼓励使用以下提供程序,因为它们封装了底层文件系统,允许跨平台访问:

   IFileProvider provider = new PhysicalFileProvider(dir);
   IFileInfo fileInfo = provider.GetFileInfo(fileName); 

但是,删除操作似乎没有任何补充功能。 System.IO 在 .NET Core 2.0 中可用,但它是否兼容跨平台?

【问题讨论】:

    标签: c# file-io asp.net-core-2.0


    【解决方案1】:

    我刚刚在 Ubuntu 16.04 上测试了这个简单的应用程序,它可以工作。

    using System;
    using System.IO;
    
    namespace gbsills
    {
        class Program
        {
            static void Main(string[] args)
            {
                File.Delete("file.txt");
            }
        }
    }
    

    当然,如果您想跨平台,您需要确保使用正确的文件路径分隔符等。

    【讨论】:

    • 由于某种原因,我也遇到了这个问题,不得不使用 System.IO.File.Delete() 而不是 using 语句以及 File.Delete()。不确定我是否做错了什么,但 .NET Core 2.2 应用程序似乎无法识别没有 System.IO.File 的文件。
    猜你喜欢
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2011-07-28
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多