【发布时间】:2010-11-03 05:45:38
【问题描述】:
我需要在我的 .NET 应用程序中具有文件同步功能。我可以使用 rsync 吗?有可用的 API 吗?
【问题讨论】:
我需要在我的 .NET 应用程序中具有文件同步功能。我可以使用 rsync 吗?有可用的 API 吗?
【问题讨论】:
在 github 上有一个 RSync 的 C# 实现,最近有一些提交:
【讨论】:
DeltaCopy 只是 rsync 可执行文件的包装器。但是,librsync 本身可以构建在 Windows 以及 UNIX 和 GNU/Linux 上(参见 their README 和这个 EE thread)。因此,这是另一个需要考虑的选择。您仍然需要某种非托管托管互操作。
【讨论】:
您可以使用DeltaCopy 附带的源代码,它是原始 RSync 的“'Windows Friendly' 包装器”。
源代码是用 C++ 编写的,因此它不完全是 .Net,但您可以编写托管 C++ 包装器并使用它们。
我知道,这不是一个直接的解决方案,但它可能会有所帮助。 (换句话说,HTH)
【讨论】:
如果您正在寻找一些简单的自动化,您可以编写一个通过 System.Diagnostic.Process 调用 RSync 的小型包装器
我确实在某处读到过有人在 2006 年左右用 C# 创建了一个 rsync 端口,但老实说,我不会考虑使用它,因为它远非流行且无法找到。
【讨论】: