C# 如何在不使用System.IO的情况下更改文件修改日期

C# 如何在不使用System.IO的情况下更改文件修改日期,c#,.net,unity3d,system.io.file,C#,.net,Unity3d,System.io.file,我正在Unity中编写代码,我想更改文件修改日期。为此,我使用File.SetLastWriteTime方法。它工作正常,但在一些android版本上它根本不工作,并给我一个erorrIOException:Invalid参数。我在谷歌上搜索了tha,这似乎是一些未解决的错误,因为有很多人报告了同样的问题 我的问题是:是否有其他库或不同的方法可以使用C#更改上次修改日期 编辑:我需要保留原始修改日期。该文件正在从Amazon S3下载,但修改日期设置为文件保存到设备上的确切时间。这就是为什么在我

我正在Unity中编写代码,我想更改文件修改日期。为此,我使用
File.SetLastWriteTime
方法。它工作正常,但在一些android版本上它根本不工作,并给我一个erorr
IOException:Invalid参数
。我在谷歌上搜索了tha,这似乎是一些未解决的错误,因为有很多人报告了同样的问题

我的问题是:是否有其他库或不同的方法可以使用C#更改上次修改日期

编辑:我需要保留原始修改日期。该文件正在从Amazon S3下载,但修改日期设置为文件保存到设备上的确切时间。这就是为什么在我下载它之后,我尝试执行
File.SetLastWriteTime(文件,原始日期)
检查以下代码:

string fileName = @"E:\test.txt";
File.SetLastWriteTime(fileName, DateTime.Now);


我拍摄了两个修改日期的快照。在运行代码之后和之前。您将再次检查给定的路径。

在Synology NAS上通过mono使用SetLastWriteTime时,我发现一些任意文件也存在同样的问题-一些文件因“无效参数”IOExceptions而失败


在深入研究之后,我发现这是一个权限/所有权问题——在sudo上运行同样的东西是有效的。

这是真的,请阅读我的帖子:它在windows上运行没有问题。不幸的是,这种方法在一些android设备上不起作用。