CommunityToolkit.Aspire.Hosting.PowerShell 9.8.1-beta.410

Prefix Reserved
This is a prerelease version of CommunityToolkit.Aspire.Hosting.PowerShell.
There is a newer version of this package available.
See the version list below for details.
dotnet add package CommunityToolkit.Aspire.Hosting.PowerShell --version 9.8.1-beta.410
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.PowerShell -Version 9.8.1-beta.410
                    
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="CommunityToolkit.Aspire.Hosting.PowerShell" Version="9.8.1-beta.410" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.PowerShell" Version="9.8.1-beta.410" />
                    
Directory.Packages.props
<PackageReference Include="CommunityToolkit.Aspire.Hosting.PowerShell" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CommunityToolkit.Aspire.Hosting.PowerShell --version 9.8.1-beta.410
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.PowerShell, 9.8.1-beta.410"
                    
#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.
#:package CommunityToolkit.Aspire.Hosting.PowerShell@9.8.1-beta.410
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CommunityToolkit.Aspire.Hosting.PowerShell&version=9.8.1-beta.410&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.PowerShell&version=9.8.1-beta.410&prerelease
                    
Install as a Cake Tool

CommunityToolkit Aspire PowerShell Scripting

About

Script your resources, use the pwsh (powershell core) engine and reference connectionstring expressions, live resources, dotnet instances or whatever else is in scope for your AppHost.

using CommunityToolkit.Aspire.Hosting.PowerShell;

var builder = DistributedApplication.CreateBuilder(args);

var storage = builder.AddAzureStorage("storage").RunAsEmulator();
var blob = storage.AddBlobs("myblob");

var ps = builder.AddPowerShell("ps")
    .WithReference(blob)
    .WaitFor(storage);

// uploads the script in scripts/
var script1 = ps.AddScript("script1", """
    param($name)

    write-information "Hello, $name"

    # uncommenting this will hang the script if you don't attach the pwsh debugger
    # wait-debugger

    write-information "`$myblob is $myblob"

    az storage container create --connection-string $myblob -n demo
    az storage blob upload --connection-string $myblob -c demo --file ./scripts/script.ps1
    
    write-information $pwd

    write-information "Blob uploaded"
""").WithArgs("world");

// outputs "the sum of 2 and 3 is 5"
var script2 = ps.AddScript("script2", """
    & ./scripts/script.ps1 @args
    """)
    .WithArgs(2, 3)
    .WaitForCompletion(script1);

builder.Build().Run();

Debugging

While your Apphost is running a script that is waiting via Wait-Debugger, open a terminal with powershell (pwsh) 7.4 or later (win, osx, linux) and use Get-PSHostProcessInfo, Enter-PSHostProcess, Get-Runspace and Debug-Runspace to connect the debugger.

See https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/enter-pshostprocess?view=powershell-7.5 for more information.

Product Compatible and additional computed target framework versions.
.NET 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.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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
13.0.1-beta.468 608 12/3/2025
13.0.1-beta.467 609 12/3/2025
13.0.0 301 11/25/2025
13.0.0-beta.462 130 11/25/2025
13.0.0-beta.456 131 11/23/2025
13.0.0-beta.454 79 11/23/2025
13.0.0-beta.453 101 11/22/2025
13.0.0-beta.450 114 11/22/2025
13.0.0-beta.448 104 11/22/2025
13.0.0-beta.444 339 11/17/2025
13.0.0-beta.443 248 11/17/2025
13.0.0-beta.440 92 11/15/2025
13.0.0-beta.439 224 11/12/2025
13.0.0-beta.438 223 11/12/2025
13.0.0-beta.436 225 11/12/2025
13.0.0-beta.435 224 11/11/2025
13.0.0-beta.433 149 11/10/2025
13.0.0-beta.432 146 11/10/2025
13.0.0-beta.431 134 11/6/2025
13.0.0-beta.430 139 11/6/2025
9.9.0 1,063 11/3/2025
9.9.0-beta.427 135 11/3/2025
9.8.1-beta.426 144 11/3/2025
9.8.1-beta.424 132 10/28/2025
9.8.1-beta.420 129 10/27/2025
9.8.1-beta.419 125 10/27/2025
9.8.1-beta.417 129 10/27/2025
9.8.1-beta.414 127 10/24/2025
9.8.1-beta.413 122 10/22/2025
9.8.1-beta.410 126 10/16/2025
9.8.1-beta.408 118 10/16/2025
9.8.1-beta.407 114 10/16/2025
9.8.1-beta.406 123 10/15/2025
9.8.0 1,871 9/26/2025
9.8.0-beta.405 128 10/15/2025
9.8.0-beta.404 127 10/13/2025
9.8.0-beta.402 133 9/29/2025
9.8.0-beta.401 127 9/29/2025
9.8.0-beta.399 125 9/26/2025
9.8.0-beta.398 131 9/25/2025
9.8.0-beta.397 135 9/25/2025
9.8.0-beta.395 128 9/24/2025
9.8.0-beta.394 131 9/23/2025
9.8.0-beta.393 129 9/23/2025
9.8.0-beta.392 134 9/23/2025
9.8.0-beta.389 255 9/18/2025
9.8.0-beta.388 264 9/16/2025
9.8.0-beta.386 207 9/15/2025
9.8.0-beta.385 208 9/15/2025
9.8.0-beta.384 58 9/13/2025
9.8.0-beta.376 136 9/8/2025
9.8.0-beta.375 62 9/6/2025
9.8.0-beta.373 143 9/5/2025
9.8.0-beta.372 140 9/4/2025
9.8.0-beta.370 133 9/2/2025
9.8.0-beta.364 130 9/1/2025
9.7.2 244 8/29/2025
9.7.2-beta.362 174 8/29/2025
9.7.2-beta.361 170 8/29/2025
9.7.2-beta.360 175 8/29/2025
9.7.2-beta.359 173 8/28/2025
9.7.2-beta.358 170 8/28/2025
9.7.2-beta.357 178 8/28/2025
9.7.1 219 8/27/2025
9.7.1-beta.355 174 8/27/2025
9.7.1-beta.354 177 8/27/2025
9.7.1-beta.353 176 8/27/2025
9.7.1-beta.352 175 8/27/2025
9.7.1-beta.351 181 8/27/2025
9.7.1-beta.348 135 8/14/2025
9.7.1-beta.344 83 8/10/2025
9.7.1-beta.343 211 8/8/2025
9.7.1-beta.342 209 8/7/2025
9.7.1-beta.341 208 8/6/2025
9.7.1-beta.340 194 8/5/2025
9.7.1-beta.339 195 8/5/2025
9.7.0 135 8/1/2025
9.7.0-beta.337 94 8/1/2025
9.7.0-beta.336 107 8/1/2025
9.7.0-beta.335 98 8/1/2025
9.7.0-beta.333 109 7/30/2025
9.6.1-beta.332 109 7/30/2025
9.6.1-beta.331 117 7/30/2025
9.6.1-beta.330 115 7/30/2025
9.6.1-beta.329 113 7/30/2025
9.6.1-beta.328 119 7/29/2025
9.6.1-beta.327 127 7/28/2025
9.6.1-beta.326 124 7/28/2025
9.6.0 189 7/10/2025
9.6.0-beta.324 144 7/10/2025
9.5.1-beta.323 128 7/10/2025
9.5.1-beta.322 137 7/10/2025
9.5.1-beta.321 134 7/10/2025
9.5.1-beta.320 136 7/9/2025
9.5.1-beta.319 132 7/8/2025
9.5.1-beta.318 137 7/2/2025
9.5.1-beta.317 136 6/30/2025
9.5.1-beta.315 138 6/26/2025
9.5.1-beta.314 144 6/23/2025
9.5.1-beta.313 126 6/20/2025
9.5.1-beta.312 128 6/20/2025
9.5.1-beta.311 145 6/18/2025