2012-02-05 5 views
10

Tôi hiện đang phát triển một ứng dụng trong .NET 4 có tương tác với máy chủ Perforce.. Trình bao bọc mạng cho API Perforce?

Nhóm của tôi trước đây đã phát triển một số loại trình bao bọc bằng cách sử dụng API Perforce, nhưng thiếu một vài trường hợp sử dụng và không xử lý đúng ngoại lệ. Tóm lại, nó không phải cái gì mà tôi thực sự có thể sử dụng như là, vì nó sẽ đòi hỏi nỗ lực đáng kể để làm cho nó như là "chống đạn" càng tốt.

Tôi đã tự hỏi liệu có trình bao bọc Perforce API tồn tại cho .NET có xử lý đúng ngoại lệ không?

Khi tôi đang đánh giá khả năng sử dụng của trình bao bọc nội bộ, tôi đã đưa ra danh sách các ngoại lệ và trường hợp sử dụng mà ứng dụng của chúng tôi cần xử lý (và trình bao bọc sẽ cần phải ném).

Danh sách này khá đầy đủ, điều này khiến tôi tự hỏi liệu một số loại trình bao bọc đã tồn tại chưa.

+2

Kết quả đầu tiên từ một tìm kiếm google nhanh chóng của * perforce C# api *: http://public.perforce.com/guest/robert_cowham/perforce/API /p4com/main/index.html –

+0

Tôi không tìm kiếm API, tôi đang tìm một trình bao bọc. –

+3

từ liên kết mà M.Babcock đăng: "P4API.Net là mã được quản lý hoàn toàn và được hỗ trợ đầy đủ bởi Perforce. Đây là giao diện được khuyến nghị sử dụng trên Windows" –

Trả lời

10

Bạn có thể muốn xem thư viện P4API.NET do Perforce cung cấp. Hoặc bạn có thể sử dụng thư viện P4.NET, đây không phải là bản phát hành chính thức của Perforce, nhưng đã có từ lâu.

Tôi đã sử dụng P4.NET nhiều lần và rất hài lòng với nó. Bạn có thể nhận được thư viện .NET 4 here, vì tôi tin thư viện gốc chỉ có hỗ trợ cho .NET 2.

+0

Nhiều đánh giá cao Mike, tôi sẽ xem xét cả hai. Bạn cũng đã sử dụng P4API.NET chưa? Tôi đã tự hỏi làm thế nào cả hai so sánh. –

+0

Tôi chưa sử dụng P4API.NET (trong danh sách việc cần làm), nhưng tôi đã thực hiện qua tài liệu một thời gian ngắn. Tôi nhớ nghĩ rằng nó trông hơi giống với P4.NET. –

3

Ngoài ra còn có trình bao bọc C# của tôi (không được kiểm tra tốt) xung quanh exe p4. Ưu điểm chính (chỉ?) Của điều này so với những người khác là nó xây dựng và hoạt động dưới mono. Nó không phụ thuộc vào COM hoặc các thư viện 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); 

T.B. Tôi đã không cố gắng để được hài hước bằng cách lưu trữ nó trong github :)