含まれるもの: ホスティング統合のみ —
Client 統合は含まれません
手記
この統合は .NET.NET Aspire Community Toolkit の一部であり、.NET Aspire されていません。
Rust は、パフォーマンス、型の安全性、コンカレンシーを重視する汎用プログラミング言語です。 メモリの安全性が強制されます。つまり、すべての参照が有効なメモリを指します。 .NET Aspire Rust ホスティング統合を使用すると、.NET Aspire アプリ ホスト プロジェクトで Rust アプリケーションをホストし、アプリケーション内の他のリソースに提供できます。
ホスティング統合
Rust ホスティング統合は、Rust アプリケーションを Aspire.Hosting.ApplicationModel.RustAppExecutableResource
の種類としてモデル化します。 この種類とアプリ ホスト プロジェクトに追加できる API にアクセスするには、📦 CommunityToolkit をインストールします。Aspire.Hosting.Rust アプリ ホスト プロジェクトの NuGet パッケージ。
この統合では、Rust プログラミング言語が既にホスト コンピューターにインストールされており、Rust パッケージ マネージャー cargo
がシステム パスで使用できる必要があります。
dotnet add package CommunityToolkit.Aspire.Hosting.Rust
詳細については、「dotnet パッケージ の追加」または「.NET アプリケーションでのパッケージの依存関係の管理」を参照してください。
Rust リソースを追加する
アプリ ホスト プロジェクトの Program.cs ファイルで、Aspire.Hosting.RustAppHostingExtension.AddRustApp
インスタンスの builder
を呼び出して、次の例に示すように Rust アプリケーション リソースを追加します。
var builder = DistributedApplication.CreateBuilder(args);
var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service")
.WithHttpEndpoint(env: "PORT");
var exampleProject = builder.AddProject<Projects.ExampleProject>()
.WithReference(rust);
// After adding all resources, run the app...
アプリケーションの作業ディレクトリは、Rust アプリケーション ディレクトリのルートである必要があります。
また、args パラメーターを AddRustApp
メソッドに渡すことで、実行中の動作をカスタマイズすることもできます。
var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service", args: ["--locked"])
.WithHttpEndpoint(env: "PORT");
Rust アプリケーションは、アプリ ホスト プロジェクト内の他のリソースへの参照として追加できます。
関連項目
.NET Aspire