DotNet Publish Action

The DotNet Publish action in Continua CI is a wrapper around the .Net Core command line tools. If you're having trouble using the DotNet Publish action, please refer to the .NET Core Command Line Tools documentation.

The DotNet Publish action packs the .Net Core application and all of its dependencies into a folder, getting it ready for publishing.

DotNet Publish

DotNet Publish action main tab

Name

A friendly name for this action (will be displayed in the actions workflow area).

Enabled

Determines if this action will be run within the relevant stage.

Project Path

Path to project file, solution file or folder. If a folder is specified, it will be searched for a file that has a file extension that ends in proj or is sln or slnx. Defaults to the workspace folder.

Working Folder

Optional working folder for running the executable. Defaults to the project folder.

Output Directory

Directory in which to place the published artifacts. If left empty, it will default to ./bin/configuration/framework/ for a framework-dependent deployment or ./bin/configuration/framework/runtime for a self-contained deployment. [--output]

Using

The Using drop down is populated with any property collector whose namespace matches the pattern defined by the DotNet CLI actions. The pattern for this action is ^NetCore\.App(?:\.|$).

If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above. Example names listed here, search the table's Plugin column for "DotNet Publish".

For more in-depth explanations on property collectors see Property Collectors.

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.

DotNet Bitness

The bitness of the DotNet executable. Options are Default, 32 Bit (X86), or 64 Bit (X64).

SDK Version

The SDK version to set in global.json file before running the DotNet executable.

Custom SDK Version

A custom SDK version string. This field is only visible when the SDK Version is set to 'Custom'.

Manifests

DotNet Publish action manifests tab

Manifests

Specify one or more paths to target manifest files (one per line) to trim the set of packages published with the app. A target manifest lists the packages that are already available in the target deployment environment (such as a runtime store), so they can be excluded from the published output to reduce deployment size. [--manifest]

Requires .NET 2 or later.

Settings

DotNet Publish action settings tab

Configuration

Configuration to use for building the project. Default for most projects is 'Debug'. [--configuration]

Framework

The target framework to build for. The framework must be specified in the project file. [--framework]

Runtime

Target runtime to publish for. This is used when creating a self-contained deployment (SCD). For a list of Runtime Identifiers (RIDs), see the RID catalog. Default is to publish a framework-dependent deployment (FDD). [--runtime]

Artifacts Path

All build output files will go in subfolders under the specified path, separated by project. The folder structure is artifacts/<output-type>/<project-name>/<pivot> where output type is bin, obj, publish, or package, and pivot is a combination of configuration, target framework, and runtime identifier (e.g., debug, release_net8.0, release_linux-x64). [--artifacts-path]

Requires .NET 8 or later.

Version Suffix

Defines what * should be replaced with in the version field in the project file. The format follows NuGet's version guidelines. [--version-suffix]

Source

The URI of a NuGet package source to use during the implicit restore operation. This overrides sources configured in NuGet.config. Useful when a build needs packages from a private feed or a specific source. [--source]

Requires .NET 6 or later.

Flags

DotNet Publish action flags tab

No restore

Set this flag to skip running an implicit package restore before the operation. Use this when a restore has already been performed in a previous build step, to avoid unnecessary network calls and speed up the build. [--no-restore]

Requires .NET 2 or later.

No build

When this flag is set, the project is not built before publishing. This implies --no-restore. Use this when the project has already been built in a previous build step. [--no-build]

Requires .NET 2.1 or later.

No dependencies

Set this flag to ignore project-to-project references and only restore the root project. [--no-dependencies]

Requires .NET 2 or later.

Force

Force all dependencies to be resolved even if the last restore was successful. This is equivalent to deleting the project.assets.json file. Use this when package sources or versions have changed and cached restore results may be stale. [--force]

Requires .NET 2 or later.

Self-contained

Controls whether the .NET runtime is bundled with your application. When set to True, the application includes the .NET runtime so the target machine does not need .NET installed, but the output size is significantly larger. When set to False, the application is framework-dependent and requires a compatible .NET runtime on the target machine. When set to Default, the behavior is determined by other project settings. [--self-contained]

Requires .NET 2 or later.

Use current runtime

Use the runtime version installed on the build agent as the target runtime. This is a convenient alternative to specifying a Runtime Identifier (RID) explicitly in the Runtime field. [--use-current-runtime]

Requires .NET 6 or later.

Additional Arguments

DotNet Publish action additional arguments tab

Additional Arguments

Use this to specify additional command line arguments and properties. Note that these will be placed at the end of the command line and will override any other matching settings.

Options

DotNet Publish action options tab

No logo

Suppress the startup banner and copyright message from the build log output. [--nologo]

Requires .NET 3 or later.

Log standard output

If this is ticked, the command line output is written to the build log.

Verbosity

The amount of information detail to display in the build log. [--verbosity]

Timeout (in seconds)

How long to wait for the action to finish running before timing out. Leaving this blank (or zero) will default to 86400 seconds (24 hours).

Treat failure as warning

Tick to continue build on failure marking the action with a warning status.

Ignore warnings

If this is ticked, any warnings logged will not mark the action with a warning status.

Environment

DotNet Publish action environment tab

Environment Variables

Multiple environment variables can be defined - one per line. These are set before the command line is run.

Log environment variables

If this is ticked, environment variable values are written to the build log.

Generate system environment variables

Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.

Mask sensitive variable values in system environment variables

This checkbox is visible only if the 'Generate system environment variables' checkbox is ticked.

If this is ticked, the values of any variables marked as sensitive will be masked with **** when setting system environment variables. Clear this to expose the values.