.NET .NET Aspire Rust ホスティング
手記
この統合は .NET.NET Aspire Community Toolkit の一部であり、は .NET.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 ファイルで、builder
インスタンスの Aspire.Hosting.RustAppHostingExtension.AddRustApp
を呼び出して、次の例に示すように 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