CommunityToolkit.Aspire.Hosting.PowerShell 9.7.2-beta.358

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.7.2-beta.358
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.PowerShell -Version 9.7.2-beta.358
                    
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.7.2-beta.358" />
                    
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.7.2-beta.358" />
                    
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.7.2-beta.358
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.PowerShell, 9.7.2-beta.358"
                    
#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.7.2-beta.358
                    
#: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.7.2-beta.358&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.PowerShell&version=9.7.2-beta.358&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 636 12/3/2025
13.0.1-beta.467 609 12/3/2025
13.0.0 404 11/25/2025
13.0.0-beta.462 130 11/25/2025
13.0.0-beta.456 133 11/23/2025
13.0.0-beta.454 81 11/23/2025
13.0.0-beta.453 103 11/22/2025
13.0.0-beta.450 116 11/22/2025
13.0.0-beta.448 107 11/22/2025
13.0.0-beta.444 340 11/17/2025
13.0.0-beta.443 248 11/17/2025
13.0.0-beta.440 93 11/15/2025
13.0.0-beta.439 225 11/12/2025
13.0.0-beta.438 223 11/12/2025
13.0.0-beta.436 226 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 149 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,095 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 131 10/27/2025
9.8.1-beta.414 129 10/24/2025
9.8.1-beta.413 123 10/22/2025
9.8.1-beta.410 127 10/16/2025
9.8.1-beta.408 120 10/16/2025
9.8.1-beta.407 115 10/16/2025
9.8.1-beta.406 124 10/15/2025
9.8.0 1,919 9/26/2025
9.8.0-beta.405 129 10/15/2025
9.8.0-beta.404 128 10/13/2025
9.8.0-beta.402 134 9/29/2025
9.8.0-beta.401 128 9/29/2025
9.8.0-beta.399 127 9/26/2025
9.8.0-beta.398 132 9/25/2025
9.8.0-beta.397 137 9/25/2025
9.8.0-beta.395 128 9/24/2025
9.8.0-beta.394 132 9/23/2025
9.8.0-beta.393 130 9/23/2025
9.8.0-beta.392 134 9/23/2025
9.8.0-beta.389 256 9/18/2025
9.8.0-beta.388 264 9/16/2025
9.8.0-beta.386 208 9/15/2025
9.8.0-beta.385 209 9/15/2025
9.8.0-beta.384 58 9/13/2025
9.8.0-beta.376 137 9/8/2025
9.8.0-beta.375 64 9/6/2025
9.8.0-beta.373 145 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 131 9/1/2025
9.7.2 245 8/29/2025
9.7.2-beta.362 175 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 171 8/28/2025
9.7.2-beta.357 178 8/28/2025
9.7.1 221 8/27/2025
9.7.1-beta.355 175 8/27/2025
9.7.1-beta.354 177 8/27/2025
9.7.1-beta.353 177 8/27/2025
9.7.1-beta.352 176 8/27/2025
9.7.1-beta.351 182 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 210 8/7/2025
9.7.1-beta.341 208 8/6/2025
9.7.1-beta.340 195 8/5/2025
9.7.1-beta.339 196 8/5/2025
9.7.0 137 8/1/2025
9.7.0-beta.337 94 8/1/2025
9.7.0-beta.336 108 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 110 7/30/2025
9.6.1-beta.331 118 7/30/2025
9.6.1-beta.330 116 7/30/2025
9.6.1-beta.329 113 7/30/2025
9.6.1-beta.328 120 7/29/2025
9.6.1-beta.327 127 7/28/2025
9.6.1-beta.326 124 7/28/2025
9.6.0 190 7/10/2025
9.6.0-beta.324 144 7/10/2025
9.5.1-beta.323 129 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 134 7/8/2025
9.5.1-beta.318 138 7/2/2025
9.5.1-beta.317 136 6/30/2025
9.5.1-beta.315 139 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 129 6/20/2025
9.5.1-beta.311 146 6/18/2025