Evotec

Project

PSPublishModule

PSPublishModule is an open-source PowerShell and .NET project with packages, release history, and technical documentation.

Stars 43
Forks 13
Open issues 1
PowerShell Gallery downloads 13,876
Release v3.0.3
Language: C# Updated: 2026-04-14

API Reference

Cmdlet

Invoke-DotNetRepositoryRelease

Namespace PSPublishModule
Inputs
None
Outputs
PowerForge.DotNetRepositoryReleaseResult

Repository-wide .NET package release workflow (discover, version, pack, publish).

Remarks

Discovers packable projects, resolves a repository-wide version (supports X-pattern), updates csproj versions, packs, and optionally publishes packages.

Examples

Authored help example

Release packages using X-pattern versioning


Invoke-DotNetRepositoryRelease -Path . -ExpectedVersion '1.2.X' -Publish -PublishApiKey $env:NUGET_API_KEY
        

Release packages with exclusions and custom sources


Invoke-DotNetRepositoryRelease -Path . -ExpectedVersion '2.0.X' -ExcludeProject 'OfficeIMO.Visio' -NugetSource 'C:\Packages' -Publish -PublishApiKey $env:NUGET_API_KEY
        

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-DotNetRepositoryRelease [-CertificateStore <CurrentUser|LocalMachine>] [-CertificateThumbprint <String>] [-Configuration <Release|Debug>] [-ExcludeDirectories <String[]>] [-ExcludeProject <String[]>] [-ExpectedVersion <String>] [-ExpectedVersionMap <IDictionary>] [-ExpectedVersionMapAsInclude] [-ExpectedVersionMapUseWildcards] [-IncludePrerelease] [-IncludeProject <String[]>] [-NugetCredentialSecret <String>] [-NugetCredentialSecretEnvName <String>] [-NugetCredentialSecretFilePath <String>] [-NugetCredentialUserName <String>] [-NugetSource <String[]>] [-OutputPath <String>] [-Path <String>] [-Publish] [-PublishApiKey <String>] [-PublishApiKeyEnvName <String>] [-PublishApiKeyFilePath <String>] [-PublishFailFast] [-PublishSource <String>] [-SkipDuplicate] [-SkipPack] [-TimeStampServer <String>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

CertificateStore CertificateStoreLocation optionalposition: namedpipeline: Falsevalues: 2
Certificate store location used when searching for the signing certificate.
Possible values: CurrentUser, LocalMachine
CertificateThumbprint String optionalposition: namedpipeline: False
Certificate thumbprint used for signing packages.
Configuration String optionalposition: namedpipeline: Falsevalues: 2
Build configuration (Release/Debug).
Possible values: Release, Debug
ExcludeDirectories String[] optionalposition: namedpipeline: False
Directory names to exclude from discovery.
ExcludeProject String[] optionalposition: namedpipeline: False
Project names to exclude (csproj file name without extension).
ExpectedVersion String optionalposition: namedpipeline: Falsealiases: Version
Expected version (exact or X-pattern, e.g. 1.2.X).
ExpectedVersionMap IDictionary optionalposition: namedpipeline: False
Per-project expected versions (hashtable: ProjectName = Version).
ExpectedVersionMapAsInclude SwitchParameter optionalposition: namedpipeline: False
When set, only projects listed in ExpectedVersionMap are processed.
ExpectedVersionMapUseWildcards SwitchParameter optionalposition: namedpipeline: False
Allow wildcards (*, ?) in ExpectedVersionMap keys.
IncludePrerelease SwitchParameter optionalposition: namedpipeline: False
Include prerelease versions when resolving versions.
IncludeProject String[] optionalposition: namedpipeline: False
Project names to include (csproj file name without extension).
NugetCredentialSecret String optionalposition: namedpipeline: False
Credential secret/token for private NuGet sources.
NugetCredentialSecretEnvName String optionalposition: namedpipeline: False
Name of environment variable containing the credential secret/token.
NugetCredentialSecretFilePath String optionalposition: namedpipeline: False
Path to a file containing the credential secret/token.
NugetCredentialUserName String optionalposition: namedpipeline: False
Credential username for private NuGet sources.
NugetSource String[] optionalposition: namedpipeline: False
NuGet sources (v3 index or local path) used for version resolution.
OutputPath String optionalposition: namedpipeline: False
Optional output path for packages.
Path String optionalposition: namedpipeline: False
Root repository path.
Publish SwitchParameter optionalposition: namedpipeline: False
Publish packages to the feed.
PublishApiKey String optionalposition: namedpipeline: False
API key used for publishing packages.
PublishApiKeyEnvName String optionalposition: namedpipeline: False
Name of environment variable containing the publish API key.
PublishApiKeyFilePath String optionalposition: namedpipeline: False
Path to a file containing the publish API key.
PublishFailFast SwitchParameter optionalposition: namedpipeline: False
Stop on the first publish/signing failure.
PublishSource String optionalposition: namedpipeline: False
NuGet feed source for publishing.
SkipDuplicate SwitchParameter optionalposition: namedpipeline: False
Skip duplicates when pushing packages.
SkipPack SwitchParameter optionalposition: namedpipeline: False
Skip dotnet pack step.
TimeStampServer String optionalposition: namedpipeline: False
Timestamp server URL used while signing packages.

Outputs

PowerForge.DotNetRepositoryReleaseResult