我目前正在使用.NET 4开发一个必须与Perforce服务器交互的应用程序。
我的团队以前使用Perforce API开发了某种包装器,但它缺少了很多用例,并且没有正确处理异常。简而言之,这不是我真正能够实际使用的东西,因为它需要付出相当大的努力才能使其尽可能“防弹”。
我想知道是否存在适用于处理异常的.NET的Perforce API包装器?
在我评估内部包装器的可用性时,我想出了一个应用程序需要处理的异常和用例列表(并且包装器需要抛出)。
这个清单非常详尽,这让我想知道是否已经存在某种包装。
答案 0 :(得分:10)
您可能想要查看Perforce提供的P4API.NET库。或者您可以使用P4.NET库,这不是Perforce的正式版本,但已经存在了一段时间。
我已经多次使用过P4.NET,并对它非常满意。您可以获得.NET 4库here,因为我相信原始库只支持.NET 2.
答案 1 :(得分:3)
在p4 exe中还有我的(没有经过良好测试的)c#包装器。这个的主要(唯一?)优势是它在单声道下构建和工作。它不依赖于COM或perforce C ++库。
https://github.com/inorton/p4-sharp
P4Shell p = new P4Shell();
if ( p.Login("inb","password") )
Console.WriteLine("logged in");
Console.WriteLine( p.WorkspaceName );
Console.WriteLine( p.WorkspaceRoot );
var dirs = p.Dirs("//nCipher/dev/home/inb/*");
foreach ( var d in dirs )
Console.WriteLine(" + {0}", d);
P.S。我把它存放在github中并不是很有趣:)