Public/NugetPackageManagerFunctions.ps1

function Update-ProjectPackage {
    [CmdletBinding()]
    param(
        [parameter(ValueFromPipeline,Mandatory,ParameterSetName="VSPkgManager")]
        [System.__ComObject]$Project, 
        [parameter(ValueFromPipeline,Mandatory,ParameterSetName="Path")]
        [string]$Path,
        [string]$Filter, 
        [string]$Version
    )
    
    begin {
        if ($PSCmdlet.ParameterSetName -eq "VSPkgManager"){
            $Path=(Get-Item $Project).DirectoryName
        }
    }
    
    process {
        Get-ChildItem $Path packages.config -Recurse|ForEach-Object{
            $packageItem=$_
            [xml]$config=Get-Content $packageItem.FullName
            Write-Verbose "Checking $($packageItem.FullName)"
            $config.packages.package|where{!$filter -bor $_.Id -like "*$filter*"}|ForEach-Object{
                Write-Verbose "Updating $($_.Id)"
                Update-NugetPackages -sourcePath ($packageItem.DirectoryName) -filter $_.Id 
            }
        }
    }
    
    end {
    }
}



function Uninstall-ProjectAllPackages($packageFilter) {
    
    while((Get-Project | Get-Package | Where-Object  {
        $_.id.Contains($packageFilter)
    } ).Length -gt 0) { 
        Get-Project | Get-Package | Where-Object  {
            $_.id.Contains($packageFilter)
        } | Uninstall-Package 
    }
    
}
function Uninstall-ProjectXAFPackages {
    Uninstall-ProjectAllPackages Xpand.XAF.
}