Project

PSPublishModule

Build, test, version, sign, and publish PowerShell modules with reusable PowerForge pipelines.

Stars 48
Forks 16
PowerShell Gallery downloads 17,213
Release v3.0.186
Language: C# Updated: 2026-11-04
Command

New-ConfigurationModuleBuildProfile

Module
PSPublishModule
Inputs
None

Emits a reusable module build profile for common PowerForge module builds.

Syntax

New-ConfigurationModuleBuildProfile
[-AboutTopicsSourcePath <String[]>]
[-CertificateThumbprint <String>]
[-Compatibility <Boolean>]
[-Documentation <Boolean>]
[-DocumentationPath <String>]
[-DocumentationReadmePath <String>]
[-DoNotAttemptToFixRelativePaths]
[-DotSourceClasses]
[-DotSourceLibraries]
[-EnableScriptAnalyzer <Boolean>]
[-EncodingOverrides <Hashtable>]
[-FileConsistency <Boolean>]
[-FileConsistencyExcludeDirectories <String[]>]
[-ImportRequiredModules <Boolean>]
[-ImportSelf <Boolean>]
[-InstallMissingModules <Boolean>]
[-KillLockersBeforeInstall]
[-KillLockersForce]
[-MergeFunctionsFromApprovedModules <Boolean>]
[-MergeModuleOnBuild <Boolean>]
[-MinimumCompatibilityPercentage <Int32>]
[-NETAssemblyLoadContext]
[-NETAssemblyTypeAcceleratorAssemblies <String[]>]
[-NETAssemblyTypeAcceleratorMode <AllowList|Assembly|Enums>]
[-NETAssemblyTypeAccelerators <String[]>]
[-NETConfiguration <Release|Debug>]
[-NETFramework <String[]>]
[-NETHandleAssemblyWithSameName]
[-NETProjectName <String>]
[-NETProjectPath <String>]
[-Profile <Standard|Binary>]
[-RequiredEncoding <FileConsistencyEncoding>]
[-RequiredLineEnding <CRLF|LF>]
[-ResolveBinaryConflicts]
[-ResolveBinaryConflictsName <String>]
[-SignIncludeBinaries]
[-SignIncludeExe]
[-SignIncludeInternals]
[-SignModule <Boolean>]
[-SkipBuiltinReplacements]
[-SyncExternalHelpToProjectRoot <Boolean>]
[-Validation <Boolean>]
[-VersionedInstallKeep <Int32>]
[-VersionedInstallStrategy <Exact|AutoRevision>]
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Description

This cmdlet emits the same configuration segment types as the lower-level New-ConfigurationFormat, New-ConfigurationDocumentation, New-ConfigurationValidation, New-ConfigurationFileConsistency, New-ConfigurationCompatibility, New-ConfigurationImportModule, and New-ConfigurationBuild commands. Use it when a module wrapper should stay thin and only declare project-specific values.

Examples

Use standard script-module defaults

New-ConfigurationModuleBuildProfile

Use binary-module defaults with an owned .NET project

New-ConfigurationModuleBuildProfile -Profile Binary -NETProjectName MyModule -NETProjectPath Sources\MyModule

Parameters

-AboutTopicsSourcePath String[] optional
Source paths for about-topic files.
-CertificateThumbprint String optional
Code-signing certificate thumbprint.
-Compatibility Boolean optional
Enable cross-version PowerShell compatibility defaults.
-Documentation Boolean optional
Enable documentation generation defaults.
-DocumentationPath String optional
Generated documentation path.
-DocumentationReadmePath String optional
Readme path used by generated documentation.
-DoNotAttemptToFixRelativePaths SwitchParameter optional
Do not attempt to fix relative paths during merge.
-DotSourceClasses SwitchParameter optional
Keep classes dot-sourced.
-DotSourceLibraries SwitchParameter optional
Keep library-loading code dot-sourced.
-EnableScriptAnalyzer Boolean optional
Enable PSScriptAnalyzer as part of validation.
-EncodingOverrides Hashtable optional
Per-pattern encoding overrides for file consistency checks.
-FileConsistency Boolean optional
Enable file consistency defaults.
-FileConsistencyExcludeDirectories String[] optional
Directory names excluded from file consistency checks.
-ImportRequiredModules Boolean optional
Import RequiredModules before validation/test steps that need them.
-ImportSelf Boolean optional
Import the module under build before validation/test steps that need it.
-InstallMissingModules Boolean optional
Install missing module dependencies on the build host.
-KillLockersBeforeInstall SwitchParameter optional
Kill locking processes before install.
-KillLockersForce SwitchParameter optional
Force killing locking processes before install.
-MergeFunctionsFromApprovedModules Boolean optional
Merge referenced functions from approved modules.
-MergeModuleOnBuild Boolean optional
Merge module source files during build.
-MinimumCompatibilityPercentage Int32 optional
Minimum percentage of cross-compatible files.
-NETAssemblyLoadContext SwitchParameter optional
Load binary module dependencies through an AssemblyLoadContext on PowerShell Core.
-NETAssemblyTypeAcceleratorAssemblies String[] optional
Assembly names whose public types may be exposed as PowerShell type accelerators.
-NETAssemblyTypeAcceleratorMode AssemblyTypeAcceleratorExportMode optional
Controls type accelerator exposure for binary-module dependencies.
Possible values: AllowList, Assembly, Enums
-NETAssemblyTypeAccelerators String[] optional
Fully-qualified type names to expose as PowerShell type accelerators.
-NETConfiguration String optional
.NET build configuration.
Possible values: Release, Debug
-NETFramework String[] optional
.NET target frameworks to build.
-NETHandleAssemblyWithSameName SwitchParameter optional
Handle assemblies with the same name during import.
-NETProjectName String optional
Project name for binary-module builds.
-NETProjectPath String optional
Path to the owned .NET project for binary-module builds.
-Profile ModuleBuildProfileKind optional
Named profile to emit.
Possible values: Standard, Binary
-RequiredEncoding FileConsistencyEncoding optional
Required encoding for file consistency checks.
Possible values: ASCII, UTF8, UTF8BOM, Unicode, BigEndianUnicode, UTF7, UTF32
-RequiredLineEnding FileConsistencyLineEnding optional
Required line endings for file consistency checks.
Possible values: CRLF, LF
-ResolveBinaryConflicts SwitchParameter optional
Resolve binary dependency conflicts.
-ResolveBinaryConflictsName String optional
Project name used when resolving binary dependency conflicts.
-SignIncludeBinaries SwitchParameter optional
When signing is enabled, include binary files.
-SignIncludeExe SwitchParameter optional
When signing is enabled, include executable files.
-SignIncludeInternals SwitchParameter optional
When signing is enabled, include internal scripts.
-SignModule Boolean optional
Enable signing for the built module.
-SkipBuiltinReplacements SwitchParameter optional
Skip built-in placeholder replacements during build.
-SyncExternalHelpToProjectRoot Boolean optional
Sync generated external help back to the project root.
-Validation Boolean optional
Enable module validation defaults.
-VersionedInstallKeep Int32 optional
Number of installed versions to keep.
-VersionedInstallStrategy InstallationStrategy optional
Versioned install strategy.
Possible values: Exact, AutoRevision

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.