何时使用PInoke? - PInvoke CopyFile与File.Copy

时间:2017-11-01 10:06:34

标签: c# .net winapi

双方有哪些优点和缺点?

就我而言,PInvoke速度更快,长路径也没有问题?因此,如果我必须复制大型文件结构,例如数TB和数千个文件夹/文件,我应该使用PInvoke?

e.g。如果要从共享中复制大型文件结构并保留权限。

1 个答案:

答案 0 :(得分:4)

此处无需使用PInvoke,因为File.Copy本身calls the Windows CopyFile function already

自.NET 4.6.2起,文件路径长度已经解析。请参阅this blog,其中描述了您需要在app.config中设置的应用转换。

.NET Framework唯一能做的就是进行一些额外的检查和错误处理,正如您在引用的源代码中看到的那样。没什么,仅此而已。