有没有使用 rsync 的 .NET API?
我需要在我的 .NET 应用程序中具有文件同步功能。 我可以使用 rsync 吗? 有可用的API吗?
I need to have a file synchronizing feature in my .NET application. Can I make use of rsync? Is there any API available?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
github 上有一个 RSync 的 C# 实现,其中包含一些最近的提交:
http://github.com/MatthewSteeples/rsync .net
There is a C# implementation of RSync on github with some recent commits:
http://github.com/MatthewSteeples/rsync.net
您可以使用 DeltaCopy 附带的源代码,它是“Windows 友好型” ' 包装器” 到原始 RSync。
源代码是用 C++ 编写的,因此它不完全是 .Net,但您可以编写托管 C++ 包装器并使用它们。
我知道这不是一个直接的解决方案,但可能会有所帮助。 (换句话说,HTH)
You can use the source code that comes with DeltaCopy, which is a "'Windows Friendly' wrapper" to the original RSync.
The source is written in c++, so it's not exactly .Net, but you can write managed C++ wrappers and use them.
It's not a direct solution, I know, but it may be somewhat helpful. (in other words, HTH)
DeltaCopy 只是 rsync 可执行文件的包装器。 但是,librsync 本身可以在 Windows 以及 UNIX 和 GNU/Linux 上构建(请参阅 他们的自述文件和这个EE 线程)。 因此,这是另一个需要考虑的选择。 您仍然需要某种非托管-托管互操作。
DeltaCopy is just a wrapper around the rsync executable. However, librsync itself can be built on Windows as well as UNIX and GNU/Linux (see their README and this EE thread). Thus, that's another option to consider. You would still need some kind of unmanaged-managed interop.
如果您正在寻找一些简单的自动化,您可以编写一个小型包装器,通过 系统调用 RSync .Diagnostic.Process
我确实在某处读到有人在 2006 年左右用 C# 创建了一个 rsync 端口,但说实话我不会考虑使用它,因为它远不流行而且不可能找到。
If you are looking for some simple automation you could just write a tiny wrapper that invokes RSync via System.Diagnostic.Process
I did read somewhere that someone circa 2006 created an rsync port in C#, but to be honest with you I would not consider using it cause its far from popular and impossible to find.