2012-02-05 23 views
10

Şu anda bir Perforce sunucusuyla etkileşime girmesi gereken .NET 4'te bir uygulama geliştiriyorum.. Net sarıcı?

Ekibim daha önce Perforce API'sini kullanarak bir tür sarıcı geliştirdi, ancak eksik birkaç kullanım durumu eksikti ve istisnaları düzgün bir şekilde yerine getirmiyor. Kısacası, mümkün olduğu kadar "kurşun geçirmez" yapmak için önemli bir çaba gerektireceğinden, gerçekte olduğu gibi kullanabileceğim bir şey değil.

.NET için istisnaları düzgün şekilde işleyen bir Perforce API sarmalayıcısı olup olmadığını merak ediyordum?

Kurum içi sarıcımızın kullanılabilirliğini değerlendirirken, uygulamanızın ele alması gereken bir istisnalar listesi ve kullanım durumları buldum (ve ambalajın atması gerekecek).

Liste oldukça kapsamlıydı, bu da bir çeşit sarıcı zaten mevcut olup olmadığını merak etmemi sağladı.

+2

Hızlı bir google araması * performansından ilk sonuç * performans C# api *: http://public.perforce.com/guest/robert_cowham/perforce/API /p4com/main/index.html –

+0

Bir API aramıyorum, sarıcı arıyorum. M.Babcock'un yayınladığı bağlantıdan –

+3

: "P4API.Net tamamen yönetilen bir koddur ve tamamen Perforce tarafından desteklenmektedir. Bu, Windows üzerinde kullanmak için önerilen arayüzdür" –

cevap

10

Perforce tarafından sağlanan P4API.NET kitaplığına göz atmak isteyebilirsiniz. Ya da, Perforce'den resmi bir sürüm olmayan P4.NET kütüphanesini kullanabilirsiniz, ancak bir süredir etrafta.

Birkaç kez P4.NET kullandım ve onunla oldukça mutlu oldum. Orijinal kitaplığın yalnızca .NET 2 için destek bulduğuna inandığım .NET 4 kitaplıkları here'u edinebilirsiniz.

+0

Çok beğenilen Mike, ikisine de bir bakacağım. Ayrıca P4API.NET kullandınız mı? İkisinin de nasıl olduğunu merak ediyordum. –

+0

Henüz P4API.NET kullanmamıştım (bu benim yapılacaklar listemde), fakat kısaca belgelere devam ettim. P4.NET ile biraz benzer göründüğünü hatırlıyorum. –

3

Ayrıca benim (iyi test edilmemiş) C# sarıcı p4 ekseni etrafında da var. Bunun diğerlerinin üzerinde (sadece?) Avantajı, onun da mono altında inşa edilmesi ve çalışmasıdır. COM veya performans C++ kütüphanelerine bağlı değildir.

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); 

Not; Ben github içinde saklayarak komik olmaya çalışmıyorum :)