PowerShellRepackager.dll-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10">
    <command:details>
      <command:name>Get-ModulePackageDescription</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ModulePackageDescription</command:noun>
      <maml:description>
        <maml:para>Describes an expanded module package</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>
            Provides detailed information about an expanded module package, including all files,
            categorized by type (assemblies, scripts, data, etc.). For assemblies, it extracts
            and displays version information from the file metadata without loading dependencies.
            </maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ModulePackageDescription</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>PackageInfo</maml:name>
          <maml:description>
            <maml:para>
            The expanded module package information from Expand-ModulePackage.
            </maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModulePackageInfo</command:parameterValue>
          <dev:type>
            <maml:name>ModulePackageInfo</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
        <maml:name>PackageInfo</maml:name>
        <maml:description>
          <maml:para>
            The expanded module package information from Expand-ModulePackage.
            </maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModulePackageInfo</command:parameterValue>
        <dev:type>
          <maml:name>ModulePackageInfo</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>PowerShellRepackager.Models.ModulePackageDescription</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>PowerShellRepackager.Models.ModulePackageDescription</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>-------------------- Describe an expanded module package ---------------------</maml:title>
        <dev:code>PS C:\&gt; Expand-ModulePackage -PackagePath "C:\temp\MicrosoftTeams.7.9.0.nupkg" | Describe-ModulePackage</dev:code>
        <dev:remarks>
          <maml:para>Get detailed description of an expanded package including assembly versions.
</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10">
    <command:details>
      <command:name>Expand-ModulePackage</command:name>
      <command:verb>Expand</command:verb>
      <command:noun>ModulePackage</command:noun>
      <maml:description>
        <maml:para>Extracts and analyzes a module package</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>
            Extracts a .nupkg module package to a working directory and analyzes its contents.
            Returns information about the module structure, detected .NET target frameworks
            (including both netcore3.1 and netcoreapp3.1 conventions), and categorized files
            (manifest, assemblies, scripts, data).
            </maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Expand-ModulePackage</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>PackagePath</maml:name>
          <maml:description>
            <maml:para>
            The full path to the .nupkg package file to extract.
            </maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>ModuleName</maml:name>
          <maml:description>
            <maml:para>
            The name of the module (used to organize the extraction working directory).
            If not provided, will be inferred from the package filename.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
          <maml:name>Version</maml:name>
          <maml:description>
            <maml:para>
            The version of the module (used to organize the extraction working directory).
            If not provided, will be inferred from the package filename.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
        <maml:name>PackagePath</maml:name>
        <maml:description>
          <maml:para>
            The full path to the .nupkg package file to extract.
            </maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>ModuleName</maml:name>
        <maml:description>
          <maml:para>
            The name of the module (used to organize the extraction working directory).
            If not provided, will be inferred from the package filename.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
        <maml:name>Version</maml:name>
        <maml:description>
          <maml:para>
            The version of the module (used to organize the extraction working directory).
            If not provided, will be inferred from the package filename.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>PowerShellRepackager.Models.ModulePackageInfo</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>PowerShellRepackager.Models.ModulePackageInfo</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>-------------------- Extract and analyze a module package --------------------</maml:title>
        <dev:code>PS C:\&gt; Expand-ModulePackage -PackagePath "C:\temp\MicrosoftTeams.7.9.0.nupkg"</dev:code>
        <dev:remarks>
          <maml:para>Extract a downloaded module package and get structured information about its contents.
</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10">
    <command:details>
      <command:name>Get-ModulePackage</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ModulePackage</command:noun>
      <maml:description>
        <maml:para>Downloads a module package from the PowerShell Gallery</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Downloads a module package from the PowerShell Gallery and saves it to a temporary location.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ModulePackage</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>ModuleName</maml:name>
          <maml:description>
            <maml:para>
            The name of the module to download.
            </maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Version</maml:name>
          <maml:description>
            <maml:para>
            The version of the module to download.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="2" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>
            Force download the module package even if it already exists in the temporary location.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
        <maml:name>ModuleName</maml:name>
        <maml:description>
          <maml:para>
            The name of the module to download.
            </maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Version</maml:name>
        <maml:description>
          <maml:para>
            The version of the module to download.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="2" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>
            Force download the module package even if it already exists in the temporary location.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>System.String</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>------------------------- Download a module package --------------------------</maml:title>
        <dev:code>PS C:\&gt; Get-ModulePackage -ModuleName MyModule -Version 1.0.0</dev:code>
        <dev:remarks>
          <maml:para>Download a module package from the PowerShell Gallery and save it to a temporary location.
</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10">
    <command:details>
      <command:name>Publish-RepackagedModule</command:name>
      <command:verb>Publish</command:verb>
      <command:noun>RepackagedModule</command:noun>
      <maml:description>
        <maml:para>Repackages an extracted module with a new module loader</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>
            Takes extracted module contents and repackages them into a new module structure that uses the
            generic assembly loader. This command:
            - Parses the original manifest to understand module structure
            - Consolidates all assemblies into a flat /bin directory
            - Generates a new module GUID (making it a distinct module)
            - Rewrites the manifest with the new module name and generic loader entry point
            - Generates the loader configuration file
            - Copies the prebuilt generic loader DLL
            
            Output is placed in: {OutputPath}/{OriginalName}-{OriginalVersion}/{NewModuleName}/
            If OutputPath is not specified, uses the current directory.
            
            With -Pack a .nupkg is created next to the module folder; with -Publish that package is also
            pushed to a NuGet v2 feed (default: PowerShell Gallery) using -ApiKey or the PSGALLERY_API_KEY /
            NUGET_API_KEY environment variable.
            </maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Publish-RepackagedModule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>ModuleInfo</maml:name>
          <maml:description>
            <maml:para>
            The extracted module information from Expand-ModulePackage.
            Contains paths to all extracted files and metadata.
            </maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModulePackageInfo</command:parameterValue>
          <dev:type>
            <maml:name>ModulePackageInfo</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>NewModuleName</maml:name>
          <maml:description>
            <maml:para>
            The name for the repackaged module.
            Example: "Svrooij.MicrosoftTeams"
            </maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
          <maml:name>OutputPath</maml:name>
          <maml:description>
            <maml:para>
            The output base directory where the repackaged module will be created.
            Final structure: {OutputPath}/{OriginalName}-{OriginalVersion}/{NewModuleName}/
            If not specified, uses the current directory.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
          <maml:name>ModuleVersion</maml:name>
          <maml:description>
            <maml:para>
            Optional version for the repackaged module and generated package.
            When omitted, the original extracted module version is preserved.
            Example: 7.9.0.1
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">Version</command:parameterValue>
          <dev:type>
            <maml:name>Version</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Pack</maml:name>
          <maml:description>
            <maml:para>
            Create a .nupkg of the repackaged module next to the output folder, without publishing it.
            Implied by -Publish.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Publish</maml:name>
          <maml:description>
            <maml:para>
            Pack the repackaged module and publish it to the feed specified by -FeedUrl.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
          <maml:name>FeedUrl</maml:name>
          <maml:description>
            <maml:para>
            NuGet v2 feed to publish to. Defaults to the PowerShell Gallery (https://www.powershellgallery.com/api/v2).
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ApiKey</maml:name>
          <maml:description>
            <maml:para>
            API key for the feed. When omitted, the PSGALLERY_API_KEY or NUGET_API_KEY environment variable is used.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>IsolateAssembly</maml:name>
          <maml:description>
            <maml:para>
            Assembly names (without .dll) that must always be isolated in the module's private AssemblyLoadContext,
            overriding the automatic classification. Supports wildcards, e.g. 'Microsoft.Graph.*', 'Azure.Core'.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="true">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>SharedAssembly</maml:name>
          <maml:description>
            <maml:para>
            Assembly names (without .dll) that must be loaded into the Default AssemblyLoadContext (shared with
            PowerShell), overriding the automatic classification. Use this when scripts reference types from an
            assembly that was isolated by mistake. Supports wildcards, e.g. 'Contoso.Contracts*'.
            </maml:para>
          </maml:description>
          <command:parameterValue required="false" variableLength="true">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
        <maml:name>ModuleInfo</maml:name>
        <maml:description>
          <maml:para>
            The extracted module information from Expand-ModulePackage.
            Contains paths to all extracted files and metadata.
            </maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModulePackageInfo</command:parameterValue>
        <dev:type>
          <maml:name>ModulePackageInfo</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>NewModuleName</maml:name>
        <maml:description>
          <maml:para>
            The name for the repackaged module.
            Example: "Svrooij.MicrosoftTeams"
            </maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
        <maml:name>OutputPath</maml:name>
        <maml:description>
          <maml:para>
            The output base directory where the repackaged module will be created.
            Final structure: {OutputPath}/{OriginalName}-{OriginalVersion}/{NewModuleName}/
            If not specified, uses the current directory.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
        <maml:name>ModuleVersion</maml:name>
        <maml:description>
          <maml:para>
            Optional version for the repackaged module and generated package.
            When omitted, the original extracted module version is preserved.
            Example: 7.9.0.1
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">Version</command:parameterValue>
        <dev:type>
          <maml:name>Version</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Pack</maml:name>
        <maml:description>
          <maml:para>
            Create a .nupkg of the repackaged module next to the output folder, without publishing it.
            Implied by -Publish.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Publish</maml:name>
        <maml:description>
          <maml:para>
            Pack the repackaged module and publish it to the feed specified by -FeedUrl.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
        <maml:name>FeedUrl</maml:name>
        <maml:description>
          <maml:para>
            NuGet v2 feed to publish to. Defaults to the PowerShell Gallery (https://www.powershellgallery.com/api/v2).
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ApiKey</maml:name>
        <maml:description>
          <maml:para>
            API key for the feed. When omitted, the PSGALLERY_API_KEY or NUGET_API_KEY environment variable is used.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>IsolateAssembly</maml:name>
        <maml:description>
          <maml:para>
            Assembly names (without .dll) that must always be isolated in the module's private AssemblyLoadContext,
            overriding the automatic classification. Supports wildcards, e.g. 'Microsoft.Graph.*', 'Azure.Core'.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="true">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>SharedAssembly</maml:name>
        <maml:description>
          <maml:para>
            Assembly names (without .dll) that must be loaded into the Default AssemblyLoadContext (shared with
            PowerShell), overriding the automatic classification. Use this when scripts reference types from an
            assembly that was isolated by mistake. Supports wildcards, e.g. 'Contoso.Contracts*'.
            </maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="true">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>PowerShellRepackager.Models.ModuleRepackageInfo</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>PowerShellRepackager.Models.ModuleRepackageInfo</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>----------------------- Repackage an extracted module ------------------------</maml:title>
        <dev:code>PS C:\&gt;
            $extracted = Expand-ModulePackage -PackagePath "C:\temp\MicrosoftTeams.7.9.0.nupkg"
            $repackaged = Publish-RepackagedModule -ModuleInfo $extracted -NewModuleName "Svrooij.MicrosoftTeams" -OutputPath "C:\output"
            </dev:code>
        <dev:remarks>
          <maml:para>
            First extract a module, then repackage it with a new name and output location.
            
</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------- Repackage and publish to the PowerShell Gallery ---------------</maml:title>
        <dev:code>PS C:\&gt;
            Publish-RepackagedModule -ModuleInfo $extracted -NewModuleName "Svrooij.MicrosoftTeams" -OutputPath "C:\output" -Publish
            </dev:code>
        <dev:remarks>
          <maml:para>
            Uses the API key from the PSGALLERY_API_KEY environment variable.
            
</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------------------ Repackage and publish to a private feed -------------------</maml:title>
        <dev:code>PS C:\&gt;
            Publish-RepackagedModule -ModuleInfo $extracted -NewModuleName "Svrooij.MicrosoftTeams" -Publish -FeedUrl "https://pkgs.dev.azure.com/org/_packaging/feed/nuget/v2" -ApiKey $pat
            </dev:code>
        <dev:remarks>
          <maml:para>
</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------------------------ Override assembly isolation -------------------------</maml:title>
        <dev:code>PS C:\&gt;
            Publish-RepackagedModule -ModuleInfo $extracted -NewModuleName "Svrooij.Contoso" -IsolateAssembly 'Microsoft.Graph.*' -SharedAssembly 'Contoso.Contracts'
            </dev:code>
        <dev:remarks>
          <maml:para>
            Force all Microsoft.Graph.* assemblies into the private load context and keep a contract assembly shared
            with PowerShell so scripts can reference its types.
            
</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------------------- Override the published module version --------------------</maml:title>
        <dev:code>PS C:\&gt;
            Publish-RepackagedModule -ModuleInfo $extracted -NewModuleName "Svrooij.MicrosoftTeams" -ModuleVersion 7.9.0.1 -Pack
            </dev:code>
        <dev:remarks>
          <maml:para>
</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
</helpItems>