「Helix Core(旧称 Perforce)」を使ったファイルのバージョン管理の操作を、.NET/C# で制作するWindows Forms Application上で行うための導入についてまとめます。
ツールはサーバー管理者向けのものではなく、クライアント向けを想定しています。
本記事で解説する内容はこちら。
.NET向けAPIの入手
まずは公式サイトから Helix Core API for .NET をダウンロードします。
こちらの記事でも触れていますが、C/C++やPython向けのAPIもあります。
DLしたZipに DLL本体・ドキュメント・ソリューション等が一式入っています。
(今回DLしたのは 64bit OS 向けのものになので、その前提の解説になります)
解凍すると「lib」フォルダ内に2つのDLLが確認できます。
新規プロジェクトの作成
Windows フォーム アプリケーション(.NET Framework)を選択。
適当なプロジェクト名やパスを設定。
2つのDLLの導入
まずはソリューションエクスプローラーの参照で右クリック‥
参照の追加を選択します。
参照ボタンを押して先ほど解凍したZip内の「p4api.net.dll」のみ読み込みます。
※「p4bridge.dll」は読み込もうとしてもエラーが出て読み込めません
参照内に「p4api」が追加されたのを確認。
メニューの「ビルド>構成マネージャー...」を選択、もしくはツールバーの「Any CPU」が指定されているプルダウンから構成マネージャーを開きます。
ビルド時のプラットフォームを「x64」にする必要があります。
「x64」ではない場合はプルダウンから「新規作成」を選んで‥
「x64」が指定されていることを確認してOKします。
開始ボタンを押して一旦ビルドします。
プロジェクト内の bin 直下に「x64」フォルダが生成されています。
Debugフォルダ内に実行ファイルと「p4api.net.dll」が確認できます。
ここに最初にダウンロードしたもう1つのDLL「p4bridge.dll」をコピーします。
※Release Buildに後から変更した場合、入れ忘れにご注意ください
デザイナーでボタンを配置
せっかくGUIのツールにしているのでボタンを1つ配置します。
ボタンを押したら Helix Core Server に接続するというシンプルな内容を実装します。
ボタンをダブルクリックしてクリックイベントを追加しておきます。
ソースコードを記述
公式サイトに記載されているコンソールアプリ向けのコードが参考になります。
https://community.perforce.com/s/article/5523
※コンソールアプリで良いなら、上記の手順に加えてプラットフォームを「x64」に変更し、ソースコードはそのままコピペで動作しました
まずは Using ステートメントを一行追加します。
using Perforce.P4;
次に接続のための「ConnectWS」関数を作成し、接続のための定数を定義します。
サーバーがローカルにあるなら「1666」でも「localhost:1666」でもOK。
ユーザー名とワークスペース名を入力し、パスワードは未設定なら空白でOK。
var P4PORT = "1666";
var P4USER = "";
var P4CLIENT = "";
var P4PASSWD = "";
今回はあくまで動作テストということでサーバーの接続情報はハードコーディングしちゃっていますが、実際にはデザイナー側で使用者がテキストボックスに入力できるようにしたり、設定画面を用意してそこに入力するようにして、ツール終了時に内容を記憶して次回に読み込む実装が必要かと思います。
関数の内容はまた別の公式のドキュメントから最低限、抜き出したものになります。
最後にボタンイベント内で関数を呼び出すよう記述します。
実行
実行してみますが、接続時には成功したかどうかでメッセージ表示するようにしてるので、接続情報が正しい場合と間違っている場合でメッセージが変わるかだけテストしました。
成功時はこちらで‥
失敗時はこちら。
現状はとりあえずサーバーに接続できただけなので中についての解説は割愛して、「とりあえず一応動いた」というソースコードを記載しておきます。
という訳で以上になります!
引き続き、アセットのチェックアウトとサブミットを試してみたいと思います。
次回の記事はこちら。