メインコンテンツまでスキップ

wit2waas の使用

wit2waas は、WIT で記述されたインターフェース等を C# のインターフェース定義に変換するスタンドアロンツールです。
Binding Generator と組み合わせることで、WIT で記述されたインターフェースを C# 上で簡単に扱うことができます。

インストール

Rustのツールチェインをインストールしてから、次のコマンドで wit2waas をインストールします。

cargo install wit2waas

使い方

WIT の構成

あらかじめ、次のようなディレクトリ構成で WIT を保存します。

- wit
- <your wit>.wit
- <your wit>.wit
- <your wit>.wit
- deps
- <dependency package>
- <dependency>.wit
- <dependency>.wit
- <dependency package>
- <dependency package>
備考

wit-deps などのツールを使用すると、パッケージレジストリ等からパッケージの依存関係を構成することができます。

wit2waas の実行

次に、wit フォルダを含むディレクトリで wit2waas を実行します。

wit2waas

結果が out フォルダに出力されます。この中に含まれる *.cs を C# プロジェクトに配置してください。

オプション

$ wit2waas --help
Usage: wit2waas [OPTIONS]

Options:
-w, --wit-dir <WIT_DIR> [default: wit]
-o, --out <OUT> [default: out]
-h, --help Print help
-V, --version Print version

init アクセサに関する問題

wit2waas はレコードの型定義を作成する際に init アクセサを使用します。
Unity など .NET 5 未満の環境ではデフォルトではコンパイルできませんが、以下のコードを追加することでコンパイル可能になります。

namespace System.Runtime.CompilerServices
{
internal static class IsExternalInit { }
}