AspireRunner.AspNetCore 1.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package AspireRunner.AspNetCore --version 1.2.0                
NuGet\Install-Package AspireRunner.AspNetCore -Version 1.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AspireRunner.AspNetCore" Version="1.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AspireRunner.AspNetCore --version 1.2.0                
#r "nuget: AspireRunner.AspNetCore, 1.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AspireRunner.AspNetCore as a Cake Addin
#addin nuget:?package=AspireRunner.AspNetCore&version=1.2.0

// Install AspireRunner.AspNetCore as a Cake Tool
#tool nuget:?package=AspireRunner.AspNetCore&version=1.2.0                

AspireRunner.AspNetCore

A library for running the Aspire Dashboard alongside ASP.NET Core apps.

The dashboard can display OpenTelemetry data (traces, metrics, and logs) from any application, although this is intended to be used for local development only.

NuGet Version

Example usage

using AspireRunner.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

// ...

if (builder.Environment.IsDevelopment())
{
    // bind from configuration (appsettings.json, etc)
    builder.Services.AddAspireDashboard(config => {
        builder.Configuration.GetSection("AspireDashboard").Bind(config);
    });

    // or pass an options instance
    builder.Services.AddAspireDashboard(new AspireDashboardOptions
    {
        Frontend = new FrontendOptions
        {
            EndpointUrls = "https://localhost:5020"
        },
        Otlp = new OtlpOptions
        {
            EndpointUrl = "https://localhost:4317"
        },
        Runner = new RunnerOptions
        {
            AutoDownload = true
        }
    });
}

var app = builder.Build();

// ...

await app.RunAsync();

[!NOTE] The runner will prioritize using the dashboard bundled with the Aspire workload if it's installed, otherwise, The runner will download the dashboard to the user's .dotnet directory (~/.dotnet/.AspireRunner).

[!IMPORTANT] While the runner itself targets .NET 6 (and later), the dashboard requires the .NET 8/9 runtime to run.

Meaning that the runner can be used as part of a .NET 6 application, but you'll still need the .NET 8/9 runtime to run the dashboard.

Configuration

The runner can be configured with the AspireDashboardOptions class, which contains a subset of the options supported by the Aspire dashboard, but also has runner-specific options under the Runner property:

  • PipeOutput (bool): When enabled, the runner will pipe the output of the dashboard process to the logger.
  • LaunchBrowser (bool): When enabled, the runner will attempt to launch the dashboard in the default browser on startup.
  • SingleInstanceHandling (enum): Controls how the runner should handle multiple instances of the dashboard process:
    1. WarnAndExit: Logs a warning and exits if an existing instance is found.
    2. Ignore: Disables checking for running instances of the Aspire Dashboard. Note that new instances will fail to start if an existing one is using the same port
    3. ReplaceExisting: Kills any existing instance before starting a new one.
  • AutoDownload (bool): When enabled, the runner will automatically download the dashboard if the Aspire workload is not found.
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.1 214 10/9/2024
1.3.0 120 9/6/2024
1.2.0 108 7/27/2024
1.1.7 104 7/17/2024
1.1.6 108 7/6/2024
1.1.5 116 6/21/2024
1.1.4 99 6/19/2024
1.1.3 5,344 5/31/2024
1.1.2 107 5/25/2024