Error Installing and Saving Semver Prerelease Modules with UpperCase PreRelease Labels from Azure Package Repositories

オープン
#1,787 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
azure, csharp, powershell
領域
cloud, tooling

調査の方向性

まず、大文字の prerelease ラベルを持つ Azure DevOps V3 フィードに対して失敗を再現し、次に V3ServerAPICalls::IsLatestVersionFirstForInstall() と、レポートで名前が挙げられている周辺のバージョン検索メソッドを追跡します。メタデータのバージョンと小文字の packageContent URL を比較し、小文字のラベルと GitHub Packages が引き続き機能することを確認します。Save-PSResource と Install-PSResource が大文字の prerelease パッケージを正常に解決できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Area-Install Issue-Bug
Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest released version
  • Search the existing issues.
Steps to reproduce
  1. Create an Azure DevOps Package Feed
  2. Upload a module with a Semver Pre-release Version Tag with Uppercase letters (Such as 1.0.1-PREv001)
  3. Register the repository using register-psresourcerepository and SPECIFICALLY the V3 feed
  4. Try and download your module with either save-psresource or install-psresource
  5. Encounter error -> Save-PSResource: Package with name 'AzureDevopsTest' and version '1.0.1-PREv001' could not be found in repository 'AzureTestRepo'

OBSERVATIONS:

  • Everything works ok if I use a V2 feed in Azure DevOps
    • Since this document: private-powershell-library on microsoft Learn website has a specific note to use V3, this is not a desired outcome.
  • Using github packages also works without an issue
  • Using a non pre-release module works without issue (E.g. version 1.0.1) in Azure Packages.
  • Using a prerelease tag that is all LOWERCASE (E.g. version 1.0.2-prev001) works without issue in Azure packages

HYPOTHESIS:

I suspect that the issue may be related to case sensitivity in the version string handling, particularly in the IsLatestVersionFirstForInstall() method. The packageContent URL in the metadata response has the version in lowercase (1.0.1-prev007), while the actual version string retains its original casing (1.0.1-PREv007). This inconsistency might be causing the method to fail in reconciling the version strings.

The issue does not occur with GitHub Packages, as the packageContent URL retains the casing of the version string.

Worth noting that invoking the rest API directly against Azure package feeds DOES NOT care about the casing at all, implying this is a problem with PSResourceGet when it is doing some version check.

Expected behavior
#Nuget V3 Feeds from Github Packages DO NOT exhibit this error

find-psresource -Repository ghpackagetest2 -Type Module -Name AstroCmdlets -Prerelease -Verbose
VERBOSE: credential successfully read from vault and set for repository: ghpackagetest2

Name         Version Prerelease Repository     Description
----         ------- ---------- ----------     -----------
astrocmdlets 1.0.12  PREv002    ghpackagetest2 A test module


find-psresource -Repository ghpackagetest2 -Type Module -Name AstroCmdlets -Prerelease -Verbose|Save-PSResource -Path c:\temp -Verbose -Debug
VERBOSE: credential successfully read from vault and set for repository: ghpackagetest2
DEBUG: In SavePSResource::ProcessSaveHelper()
DEBUG: In InstallHelper::BeginInstallPackages()
DEBUG: Parameters passed in >>> Name: 'astrocmdlets'; VersionRange: '1.0.12-PREv002'; NuGetVersion: '1.0.12-PREv002'; VersionType: 'SpecificVersion'; Version: '1.0.12-PREv002'; Prerelease: 'True'; Repository: 'ghpackagetest2'; AcceptLicense: 'False'; Quiet: 'False'; Reinstall: 'True'; TrustRepository: 'False'; NoClobber: 'False'; AsNupkg: 'False'; IncludeXml 'False'; SavePackage 'True'; TemporaryPath ''; SkipDependencyCheck: 'False'; AuthenticodeCheck: 'False'; PathsToInstallPkg: 'C:\temp'; Scope ''
DEBUG: In InstallHelper::ProcessRepositories()
VERBOSE: credential successfully read from vault and set for repository: ghpackagetest2
VERBOSE: Attempting to search for packages in 'ghpackagetest2'
VERBOSE: Checking if untrusted repository should be used

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its Trusted value by running the Set-PSResourceRepository cmdlet. Are you sure you want
to install the PSResource from 'ghpackagetest2'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In InstallHelper::InstallPackages()
DEBUG: In InstallHelper::InstallPackage()
DEBUG: In V3ServerAPICalls::FindVersion()
DEBUG: In V3ServerAPICalls::FindVersionHelper()
DEBUG: 'astrocmdlets' version parsed as '1.0.12-PREv002'
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://nuget.pkg.github.com/{redacted}/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://nuget.pkg.github.com/{redacted}/astrocmdlets/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForSearch()

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to save: 'astrocmdlets', version: '1.0.12-PREv002'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to install: 'astrocmdlets', version: '1.0.12-PREv002'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In V3ServerAPICalls::InstallPackage()
DEBUG: In V3ServerAPICalls::InstallVersion()
DEBUG: In V3ServerAPICalls::InstallHelper()
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://nuget.pkg.github.com/{redacted}/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://nuget.pkg.github.com/{redacted}/astrocmdlets/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForInstall()
DEBUG: In V3ServerAPICalls::HttpRequestCallForContent()
DEBUG: Request url is 'https://nuget.pkg.github.com/{redacted}/download/astrocmdlets/1.0.12-PREv002/astrocmdlets.1.0.12-PREv002.nupkg'
DEBUG: In InstallHelper::TryInstallToTempPath()
DEBUG: In InstallHelper::CallAcceptLicense()
DEBUG: In InstallHelper::DeleteExtraneousFiles()
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4\astrocmdlets\1.0.12\astrocmdlets.nuspec'
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4\astrocmdlets\1.0.12\[Content_Types].xml'
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4\astrocmdlets\1.0.12\package'
WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In InstallHelper::TryMoveInstallContent()
DEBUG: In InstallHelper::MoveFilesIntoInstallPath()
VERBOSE: Installation source path is: 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4\astrocmdlets\1.0.12'
VERBOSE: Installation destination path is: 'C:\temp\astrocmdlets\1.0.12'
VERBOSE: Attempting to move 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4\astrocmdlets\1.0.12' to 'C:\temp\astrocmdlets\1.0.12'
VERBOSE: Successfully installed package 'astrocmdlets' to location 'C:\temp'
VERBOSE: Attempting to delete 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4'
VERBOSE: Successfully deleted 'C:\Users\adria\AppData\Local\Temp\49a75433-c039-478c-8da6-c11935463bb4'


#Lowercase PreRelease labels also work without error:

Find-PSResource -Repository AzureTestRepo -Prerelease -Name azdt2

Name  Version Prerelease Repository    Description
----  ------- ---------- ----------    -----------
azdt2 1.0.2   prev001    AzureTestRepo Test Module 2

Find-PSResource -Repository AzureTestRepo -Prerelease -Name azdt2|Save-PSResource -path C:\temp\ -Debug -Verbose
DEBUG: In SavePSResource::ProcessSaveHelper()
DEBUG: In InstallHelper::BeginInstallPackages()
DEBUG: Parameters passed in >>> Name: 'azdt2'; VersionRange: '1.0.2-prev001'; NuGetVersion: '1.0.2-prev001'; VersionType: 'SpecificVersion'; Version: '1.0.2-prev001'; Prerelease: 'True'; Repository: 'AzureTestRepo'; AcceptLicense: 'False'; Quiet: 'False'; Reinstall: 'True'; TrustRepository: 'False'; NoClobber: 'False'; AsNupkg: 'False'; IncludeXml 'False'; SavePackage 'True'; TemporaryPath ''; SkipDependencyCheck: 'False'; AuthenticodeCheck: 'False'; PathsToInstallPkg: 'C:\temp\'; Scope ''
DEBUG: In InstallHelper::ProcessRepositories()
VERBOSE: credential successfully read from vault and set for repository: AzureTestRepo
VERBOSE: Attempting to search for packages in 'AzureTestRepo'
WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In InstallHelper::InstallPackages()
DEBUG: In InstallHelper::InstallPackage()
DEBUG: In V3ServerAPICalls::FindVersion()
DEBUG: In V3ServerAPICalls::FindVersionHelper()
DEBUG: 'azdt2' version parsed as '1.0.2-prev001'
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/_packaging/TestFeed/nuget/v3/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/_packaging/ae0aabff-43f2-48bb-b15e-16a4aadc1d43/nuget/v3/registrations2-semver2/azdt2/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForSearch()

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to save: 'azdt2', version: '1.0.2-prev001'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to install: 'azdt2', version: '1.0.2-prev001'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In V3ServerAPICalls::InstallPackage()
DEBUG: In V3ServerAPICalls::InstallVersion()
DEBUG: In V3ServerAPICalls::InstallHelper()
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/_packaging/TestFeed/nuget/v3/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/nuget/v3/registrations2-semver2/azdt2/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForInstall()
DEBUG: In V3ServerAPICalls::HttpRequestCallForContent()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/nuget/v3/flat2/azdt2/1.0.2-prev001/azdt2.1.0.2-prev001.nupkg'
DEBUG: In InstallHelper::TryInstallToTempPath()
DEBUG: In InstallHelper::CallAcceptLicense()
DEBUG: In InstallHelper::DeleteExtraneousFiles()
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2\azdt2.nuspec'
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2\[Content_Types].xml'
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2\_rels'
DEBUG: Deleting 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2\package'
WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In InstallHelper::TryMoveInstallContent()
DEBUG: In InstallHelper::MoveFilesIntoInstallPath()
VERBOSE: Installation source path is: 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2'
VERBOSE: Installation destination path is: 'C:\temp\azdt2\1.0.2'
VERBOSE: Attempting to move 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10\azdt2\1.0.2' to 'C:\temp\azdt2\1.0.2'
VERBOSE: Successfully installed package 'azdt2' to location 'C:\temp\'
VERBOSE: Attempting to delete 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10'
VERBOSE: Successfully deleted 'C:\Users\adria\AppData\Local\Temp\acb1f5be-74a3-4b67-95b2-fa60c8b33d10'
Actual behavior
Find-PSResource -Repository AzureTestRepo -Prerelease -Name AzureDevopstest -Verbose
VERBOSE: credential successfully read from vault and set for repository: AzureTestRepo

Name            Version Prerelease Repository    Description
----            ------- ---------- ----------    -----------
AzureDevopsTest 1.0.1   PREv007    AzureTestRepo AA Testing out Module Forge in Azure DevOps

Save-PSResource -Path C:\temp -Debug -Verbose -ErrorAction stop -Repository AzureTestRepo -Prerelease -Name AzureDevopstest -Version '1.0.1-PREv007'
DEBUG: In SavePSResource::ProcessSaveHelper()
DEBUG: In InstallHelper::BeginInstallPackages()
DEBUG: Parameters passed in >>> Name: 'AzureDevopstest'; VersionRange: '1.0.1-PREv007'; NuGetVersion: '1.0.1-PREv007'; VersionType: 'SpecificVersion'; Version: '1.0.1-PREv007'; Prerelease: 'True'; Repository: 'AzureTestRepo'; AcceptLicense: 'False'; Quiet: 'False'; Reinstall: 'True'; TrustRepository: 'False'; NoClobber: 'False'; AsNupkg: 'False'; IncludeXml 'False'; SavePackage 'True'; TemporaryPath ''; SkipDependencyCheck: 'False'; AuthenticodeCheck: 'False'; PathsToInstallPkg: 'C:\temp'; Scope ''
DEBUG: In InstallHelper::ProcessRepositories()
VERBOSE: credential successfully read from vault and set for repository: AzureTestRepo
VERBOSE: Attempting to search for packages in 'AzureTestRepo'
WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In InstallHelper::InstallPackages()
DEBUG: In InstallHelper::InstallPackage()
DEBUG: In V3ServerAPICalls::FindVersion()
DEBUG: In V3ServerAPICalls::FindVersionHelper()
DEBUG: 'AzureDevopstest' version parsed as '1.0.1-PREv007'
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/_packaging/TestFeed/nuget/v3/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/nuget/v3/registrations2-semver2/azuredevopstest/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForSearch()

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to save: 'AzureDevopsTest', version: '1.0.1-PREv007'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Confirm
Are you sure you want to perform this action?
Performing the operation "Save-PSResource" on target "Package to install: 'AzureDevopsTest', version: '1.0.1-PREv007'".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
DEBUG: In V3ServerAPICalls::InstallPackage()
DEBUG: In V3ServerAPICalls::InstallVersion()
DEBUG: In V3ServerAPICalls::InstallHelper()
DEBUG: In V3ServerAPICalls::GetVersionedPackageEntriesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::GetResourcesFromServiceIndex()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/_packaging/TestFeed/nuget/v3/index.json'
DEBUG: In V3ServerAPICalls::FindRegistrationsBaseUrl()
DEBUG: In V3ServerAPICalls::GetVersionedResponsesFromRegistrationsResource()
DEBUG: In V3ServerAPICalls::HttpRequestCall()
DEBUG: Request url is 'https://pkgs.dev.azure.com/{redacted}/nuget/v3/registrations2-semver2/azuredevopstest/index.json'
DEBUG: In V3ServerAPICalls::GetMetadataElementsFromResponse()
DEBUG: In V3ServerAPICalls::GetMetadataElementFromItemsElement()
DEBUG: In V3ServerAPICalls::IsLatestVersionFirstForInstall()
VERBOSE: Attempting to delete 'C:\Users\adria\AppData\Local\Temp\62a69787-9390-4295-b929-9652e33f5c35'
VERBOSE: Successfully deleted 'C:\Users\adria\AppData\Local\Temp\62a69787-9390-4295-b929-9652e33f5c35'
Save-PSResource: Package with name 'AzureDevopsTest' and version '1.0.1-PREv007' could not be found in repository 'AzureTestRepo'
Error details
PSMessageDetails      :
Exception             : System.Exception: Package with name 'AzureDevopsTest' and version '1.0.1-PREv007' could not be found in repository 'AzureTestRepo'
TargetObject          : Microsoft.PowerShell.PSResourceGet.Cmdlets.V3ServerAPICalls
CategoryInfo          : InvalidResult: (Microsoft.PowerShel…ts.V3ServerAPICalls:V3ServerAPICalls) [Save-PSResource], Exception
FullyQualifiedErrorId : InstallFailure,Microsoft.PowerShell.PSResourceGet.Cmdlets.SavePSResource
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}
Environment data
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0


CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Find-PSResource                                    1.1.0      Microsoft.PowerShell.PSResourceGet


Name                Uri                                                                                                    Trusted Priority IsAllowedByPolicy
----                ---                                                                                                    ------- -------- -----------------
AzureTestRepo       https://pkgs.dev.azure.com/{redacted}/_packaging/TestFeed/nuget/v3/index.json True    50       True
ghpackagetest2      https://nuget.pkg.github.com/{redacted}/index.json                                               False   50       True
PSGallery           https://www.powershellgallery.com/api/v2                                                               False   50       True
Visuals

No response

主要言語
C#
スター
576
フォーク
114
平均マージ
23時間 17分
マージ済み PR(30日)
8

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PowerShell/PSResourceGet のほかの issue

PowerShell/PSResourceGet の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。