0

p4api.net API を使用して C# ベースのビルド ツールを開発しようとしています。p4api.net を実行するのは初めてです。サイトからダウンロードした p4api.net ライブラリの指示に従いましたが、perforce で基本的なコマンドを実行することはできませんでした。Perforce からクライアントをフェッチするコードを添付します。間違っていたら訂正してください。コードは、GetClients() の実行中に実行時エラー (未処理の予期) をスローします。

static void Main(string[] args)
{
    string uri = "perforce:1666";
    string user = "User1";

    Server server = new Server(new ServerAddress(uri));
    Repository rep = new Repository(server);
    Connection con = rep.Connection;

    con.UserName = user;
    con.Client = new Client();

    // connect to the server
    con.Connect(null);

    // run the command against the current repository
    IList<Client> changes = rep.GetClients(null);
}

C#ドキュメント/例を実行するための便利なガイドをいただければ幸いです。

ありがとう、マドゥ

4

2 に答える 2

3

チケットは、p4 login によってユーザーに付与されます。P4V または別のクライアントでログインした場合、明示的に p4 ログアウトしない限り、チケットは有効期限が切れるまで有効です。接続後、コマンドを実行する前に、P4API.NET でこの資格情報を作成できます。

        // connect to the server
        con.Connect(null);
        string password = "pw";
        Credential cred = con.Login(password, null, null);
        con.Credential = cred;
于 2012-07-27T14:17:22.223 に答える
2

例外が GetClients から来ていることは確かですか? コードを正常に実行しましたが、uri を存在しない server:port に変更すると、con.Connect(null) で未処理の例外が発生します。

User1 で perforce:1666 サーバーにアクセスできること、および User1 がそのサーバーでパスワードを必要としないことを確認します。

于 2012-07-27T12:40:17.090 に答える