我的开源software将远程文件夹同步到本地桌面。远程文件夹可以在Alfresco上,其中路径长度没有限制(/root/very/very/very/long/name.txt
)。
在开发应用程序时,我使用了System.IO.File.OpenWrite
和System.IO.Stream.Write
,但它显示为they don't support paths over a few hundred characters,因此用户在处理长路径时会报告PathTooLongException
等错误。
UNC路径,因为它们会导致与某些应用程序不兼容。
在这种情况下应该使用哪些库/代码?
它必须是开源的C#。
答案 0 :(得分:3)
AlphaFS允许您使用非常长的路径(使用“\?\”样式)并模仿System.IO命名空间。
您可能就像使用System.IO一样使用此库。例如,AlphaFS.Win32.Filesystem.File.Copy()代替System.IO.File.Copy()。
(source)
答案 1 :(得分:2)
您可以尝试Base Class Libraries Long Path implementation。但请注意,如果您开始混淆默认的.NET I / O方法,并非所有内容都能正常工作。
答案 2 :(得分:1)
“.NET 2.0 Workaround for PathTooLongException”(文章+代码)。
根据代码项目开放许可证(CPOL)获得许可,该许可证不是开源apparently。
虽然只有2次提交不适合非常活跃的项目......
答案 3 :(得分:1)
自修订版185(2月19日 th ,2013)以来,该库由Microsoft Public License (MS-PL)覆盖,如源代码文件的标题中所指定。
看起来很有希望,但作者advises反对在企业环境中使用它,因为代码不够扎实。
此库有一些unit tests,但缺少文档。
答案 4 :(得分:1)