Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CopyFileEx vs System.IO.File.Copy()_C#_Copy - Fatal编程技术网

C# CopyFileEx vs System.IO.File.Copy()

C# CopyFileEx vs System.IO.File.Copy(),c#,copy,C#,Copy,目前有一个奇怪的场景 我管理一个C#应用程序,将文件从服务器复制到用户的USB/SD卡 我最近从System.IO.File.Copy()切换到使用内核32中的CopyFileEx()的Pinvoke 我不是来请求代码的,我当前的包装器和代码工作得很好(除了这种情况) 我确实发现原始文件的属性没有被复制,但我已经解决了这个问题 CopyFileEx可以很好地复制文件,但有一些西门子PLC SD卡无法正常工作。它们似乎编程正常,但PLC从未进入运行状态。奇怪的是,从文件资源管理器中进行简单的复制和

目前有一个奇怪的场景

我管理一个C#应用程序,将文件从服务器复制到用户的USB/SD卡

我最近从System.IO.File.Copy()切换到使用内核32中的CopyFileEx()的Pinvoke

我不是来请求代码的,我当前的包装器和代码工作得很好(除了这种情况)

我确实发现原始文件的属性没有被复制,但我已经解决了这个问题

CopyFileEx可以很好地复制文件,但有一些西门子PLC SD卡无法正常工作。它们似乎编程正常,但PLC从未进入运行状态。奇怪的是,从文件资源管理器中进行简单的复制和粘贴不会出现任何问题

有人知道CopyFileEx是否可能更改文件的编码或加密吗

我比较了复制过程前后文件的二进制文件,发现文件是相同的。所以,我现在被难倒了

我当前使用的唯一复制标志是copy\u FILE\u RESTARTABLE,以获取复制的状态。(对于较大的文件,主要是必需的。)

有人有类似的经历吗

谢谢


-因此,我花了一些时间进行挖掘和尝试,然后出错,但我弄清楚了发生了什么

复制功能都很好。 我先前关于编码和加密的假设是错误的,问题更多地与Siemen SD卡上的文件/文件夹有关

结果表明,即使所有文件都已正确复制,但仍有一个空文件夹没有从服务器复制到SD卡,从而使PLC无法正确编程

-J