Мне нужно иметь функцию синхронизации файлов в моем приложении .NET. Могу ли я использовать rsync? Доступен ли какой-либо API?
Есть ли какой-либо .NET API, использующий rsync?
Ответ 1
Вы можете использовать исходный код, который поставляется с DeltaCopy, который представляет собой "оболочку Windows Friendly" для исходного RSync.
Источник написан на С++, поэтому он не совсем .Net, но вы можете написать управляемые обертки С++ и использовать их.
Это не прямое решение, я знаю, но это может быть несколько полезно. (другими словами, HTH)
Ответ 2
Существует реализация С# для RSync в github с некоторыми недавними фиксациями:
Ответ 3
DeltaCopy - это всего лишь оболочка исполняемого файла rsync. Однако сам librsync может быть построен на Windows, а также в UNIX и GNU/Linux (см. их README и это поток EE). Таким образом, это еще один вариант рассмотрения. Вам все равно понадобится какой-то неуправляемый интерфейс.
Ответ 4
Если вы ищете некоторую простоту автоматизации, вы можете просто написать крошечную оболочку, которая вызывает RSync через System.Diagnostic.Process
Я где-то читал, что кто-то около 2006 года создал порт rsync на С#, но, честно говоря, я бы не стал его использовать, потому что его далеко не популярно и невозможно найти.