API Reference
Invoke-DotNetPublish
Executes DotNet publish engine from DSL settings or an existing JSON config.
Remarks
This cmdlet follows the same authoring pattern as module build cmdlets: create a config using New-ConfigurationDotNet* and run it directly, or export config first via -JsonOnly + -JsonPath.
Examples
Generate DotNet publish JSON from DSL without execution
Invoke-DotNetPublish -JsonOnly -JsonPath '.\powerforge.dotnetpublish.json' -Settings {
New-ConfigurationDotNetPublish -IncludeSchema -ProjectRoot '.' -Configuration 'Release'
New-ConfigurationDotNetTarget -Name 'PowerForge.Cli' -ProjectPath 'PowerForge.Cli/PowerForge.Cli.csproj' -Framework 'net10.0' -Runtimes 'win-x64' -Style PortableCompat -Zip
}
Run DotNet publish from existing JSON config
Invoke-DotNetPublish -ConfigPath '.\powerforge.dotnetpublish.json' -ExitCode
Common Parameters
This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters.
Syntax
Invoke-DotNetPublish [-ExitCode] [-Frameworks <String[]>] [-JsonOnly] [-JsonPath <String>] [-NoInteractive] [-Plan] [-Profile <String>] [-Runtimes <String[]>] -Settings <ScriptBlock> [-SkipBuild] [-SkipRestore] [-Styles <Portable>] [-Target <String[]>] [-Validate] [<CommonParameters>]
#
SettingsParameters
- ExitCode SwitchParameter
- Sets host exit code: 0 on success, 1 on failure.
- Frameworks String[]
- Optional framework override for selected targets.
- JsonOnly SwitchParameter
- Exports JSON config and exits without running the engine.
- JsonPath String
- Output path for JSON config used with JsonOnly.
- NoInteractive SwitchParameter
- Disables interactive output mode. Reserved for future UI parity.
- Plan SwitchParameter
- Builds and emits resolved plan without executing steps.
- Profile String
- Optional profile override.
- Runtimes String[]
- Optional runtime override for selected targets.
- Settings ScriptBlock
- DSL settings block that emits DotNet publish objects.
- SkipBuild SwitchParameter
- Disables build steps for this run.
- SkipRestore SwitchParameter
- Disables restore steps for this run.
- Styles DotNetPublishStyle[]
- Optional style override for selected targets.
- Possible values:
Portable,PortableCompat,PortableSize,FrameworkDependent,AotSpeed,AotSize - Target String[]
- Optional target-name filter override.
- Validate SwitchParameter
- Validates configuration by planning only; does not execute run steps.
Outputs
PowerForge.DotNetPublishPlan PowerForge.DotNetPublishResult
Invoke-DotNetPublish -ConfigPath <String> [-ExitCode] [-Frameworks <String[]>] [-JsonOnly] [-JsonPath <String>] [-NoInteractive] [-Plan] [-Profile <String>] [-Runtimes <String[]>] [-SkipBuild] [-SkipRestore] [-Styles <Portable>] [-Target <String[]>] [-Validate] [<CommonParameters>]
#
ConfigParameters
- ConfigPath String
- Path to existing DotNet publish JSON config.
- ExitCode SwitchParameter
- Sets host exit code: 0 on success, 1 on failure.
- Frameworks String[]
- Optional framework override for selected targets.
- JsonOnly SwitchParameter
- Exports JSON config and exits without running the engine.
- JsonPath String
- Output path for JSON config used with JsonOnly.
- NoInteractive SwitchParameter
- Disables interactive output mode. Reserved for future UI parity.
- Plan SwitchParameter
- Builds and emits resolved plan without executing steps.
- Profile String
- Optional profile override.
- Runtimes String[]
- Optional runtime override for selected targets.
- SkipBuild SwitchParameter
- Disables build steps for this run.
- SkipRestore SwitchParameter
- Disables restore steps for this run.
- Styles DotNetPublishStyle[]
- Optional style override for selected targets.
- Possible values:
Portable,PortableCompat,PortableSize,FrameworkDependent,AotSpeed,AotSize - Target String[]
- Optional target-name filter override.
- Validate SwitchParameter
- Validates configuration by planning only; does not execute run steps.
Outputs
PowerForge.DotNetPublishPlan PowerForge.DotNetPublishResult