C# 我必须使用 SVN API 或库访问/提交/更新 WPF 应用程序中的 SVN 存储库
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/211765/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
i have to access/commit/update SVN repository in WPF application using SVN API or libraries
提问by rudigrobler
采纳答案by Bert Huijben
SharpSvn was desiged for .Net 2.0 and Subversion 1.5 and later. It integrates all subversion dependencies in a single set of dll that is directly usable from .Net (XCopy deployable). One of the other strong points of SharpSvn is that it hides all memory management and transforms Subversion errors in exceptions, and more importantly vice versa. (Makes debugging callbacks very easy)
SharpSvn 是为 .Net 2.0 和 Subversion 1.5 及更高版本设计的。它将所有 subversion 依赖项集成在一组可直接从 .Net 使用的 dll 中(可部署 XCopy)。SharpSvn 的其他优点之一是它隐藏了所有内存管理并在异常中转换 Subversion 错误,更重要的是反之亦然。(使调试回调非常容易)
NSvn was used by AnkhSVN before AnkhSVN 2.0. It moved to SharpSvn after that.
在 AnkhSVN 2.0 之前,AnkhSVN 使用 NSvn。之后它转移到了 SharpSvn。
The IronSvn project on Codeplex closed down. (It suggests using SharpSvn).
Codeplex 上的 IronSvn 项目关闭了。(它建议使用 SharpSvn)。
Svn# and its 2.0 successor Svn.Net are plain wrappers of the Subversion C api. They required the binaries of a subversion release to work. And you must manage the apr pools and some of the apr collection marshalling yourself from managed code. This is the only cross platform solution in this list. (Works just as well on linux)
Svn# 和它的 2.0 继承者 Svn.Net 是 Subversion C api 的简单包装。他们需要 subversion 版本的二进制文件才能工作。并且您必须管理 apr 池和一些从托管代码中自己编组的 apr 集合。这是此列表中唯一的跨平台解决方案。(在 linux 上也能正常工作)
回答by Joachim Kerschbaumer
- what about NSvn which is (if i'm not wrong) also the core of ankhsvn (check out the tigris.org website for more information)
- NSvn 怎么样,它(如果我没记错的话)也是 ankhsvn 的核心(查看 tigris.org 网站了解更多信息)
回答by Marc Gravell
I'm using SharpSVN at the moment - works fine for what I need (although it is for an automated process, so no UI work necessary).
我目前正在使用 SharpSVN - 可以很好地满足我的需要(尽管它是用于自动化过程,因此不需要 UI 工作)。
回答by Mathias F
I used SharpSvn. It was easy to integrate and works well for me. If you need some sample code have a look at this project https://github.com/bhank/SVNCompleteSync.
我使用了 SharpSvn。它很容易集成并且对我来说效果很好。如果您需要一些示例代码,请查看此项目https://github.com/bhank/SVNCompleteSync。