A csomagkezelés fejlesztései a WMF 5.1-ben

A WMF 5.1-ben végzett javítások a következők:

Verzióalias

Forgatókönyv: Ha egy csomag (P1) 1.0-s és 2.0-s verziója van telepítve a rendszeren, és el szeretné távolítani az 1.0-s verziót, akkor a parancsmag futtatása után az Uninstall-Package -Name P1 -Version 1.0 1.0-s verziót kell eltávolítania. Ennek eredménye azonban az, hogy a 2.0-s verzió el lesz távolítva.

Ez azért fordul elő, mert a -Version paraméter a -MinimumVersion paraméter aliasa. Ha a PackageManagement legalább 1.0-s verziójú minősített csomagot keres, a legújabb verziót adja vissza. Ez a viselkedés normál esetekben várható, mivel a legújabb verzió megkeresése általában a kívánt eredmény. Ez azonban nem alkalmazható az ügyre Uninstall-Package .

Solution:removed -Version alias teljes egészében PackageManagement (más néven OneGet) és PowerShellGet.

Több kérés a NuGet-szolgáltató rendszerindításához

Forgatókönyv: Amikor először futtat Find-Module vagy Install-Module más PackageManagement parancsmagokat a számítógépen, a PackageManagement megpróbálja elindítani a NuGet-szolgáltatót. Ezt azért teszi, mert a PowerShellGet-szolgáltató a NuGet-szolgáltatót is használja a PowerShell-modulok letöltéséhez. A PackageManagement ezután engedélyt kér a felhasználótól a NuGet-szolgáltató telepítéséhez. Miután a felhasználó az "igen" lehetőséget választja a rendszerindításhoz, a NuGet-szolgáltató legújabb verziója lesz telepítve.

Bizonyos esetekben azonban, ha a NuGet-szolgáltató egy régi verziója van telepítve a számítógépen, a NuGet régebbi verziója néha először betöltődik a PowerShell-munkamenetbe (ez a PackageManagement versenyfeltétele). A PowerShellGet használatához azonban a NuGet-szolgáltató újabb verziója szükséges, ezért a PowerShellGet kéri a PackageManagementet, hogy indítsa újra a NuGet-szolgáltatót. Ez több kérést eredményez a NuGet-szolgáltató rendszerindításához.

Megoldás: A WMF5.1-ben a PackageManagement betölti a NuGet-szolgáltató legújabb verzióját, hogy elkerülje a NuGet-szolgáltató rendszerindítási kéréseinek többszörösét.

A probléma megoldásához manuálisan is törölje a NuGet-szolgáltató (NuGet-Anycpu.exe) régi verzióját, ha az $env:ProgramFiles\PackageManagement\ProviderAssemblies $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies

A PackageManagement támogatása csak intranetes hozzáféréssel rendelkező számítógépeken

Forgatókönyv: A vállalati forgatókönyvben a felhasználók olyan környezetben dolgoznak, ahol nincs internet-hozzáférés, csak intranetes. A PackageManagement nem támogatja ezt az esetet a WMF 5.0-s verzióban.

Forgatókönyv: A WMF 5.0-s verzióban a PackageManagement nem támogatja azokat a számítógépeket, amelyek csak intranetes (de nem internetes) hozzáféréssel rendelkeznek.

Megoldás: A WMF 5.1-ben az alábbi lépéseket követve engedélyezheti az intranetes számítógépek számára a PackageManagement használatát:

  1. Töltse le a NuGet-szolgáltatót egy másik, internetkapcsolattal rendelkező számítógép használatával Install-PackageProvider -Name NuGet.

  2. Keresse meg a NuGet-szolgáltatót a vagy $env:ProgramFiles\PackageManagement\ProviderAssemblies\nuget$env:LOCALAPPDATA\PackageManagement\ProviderAssemblies\nugeta .

  3. Másolja a bináris fájlokat egy olyan mappába vagy hálózati megosztási helyre, amelyet az intranetes számítógép elérhet, majd telepítse a NuGet-szolgáltatót a következővel Install-PackageProvider -Name NuGet -Source <Path to folder>: .

Az eseménynaplózás fejlesztései

A csomagok telepítésekor módosítja a számítógép állapotát. A WMF 5.1-ben a PackageManagement mostantól naplózza az eseményeket a Windows eseménynaplójában a , Uninstall-Packageés Save-Package tevékenységek esetébenInstall-Package. Az eseménynapló ugyanaz, mint a PowerShell esetében, Microsoft-Windows-PowerShell, Operationalazaz.

Alapszintű hitelesítés támogatása

A WMF 5.1-ben a PackageManagement támogatja a csomagok keresését és telepítését egy alapszintű hitelesítést igénylő adattárból. A hitelesítő adatokat megadhatja a Find-Package parancsmagoknak.Install-Package Például:

Find-Package -Source <SourceWithCredential> -Credential (Get-Credential)

A PackageManagement proxy mögötti használatának támogatása

A WMF 5.1-ben a PackageManagement mostantól új proxyparamétereket -ProxyCredential és -Proxy. Ezekkel a paraméterekkel megadhatja a PackageManagement parancsmagok proxy URL-címét és hitelesítő adatait. A rendszer alapértelmezés szerint rendszerproxy-beállításokat használ. Például:

Find-Package -Source https://www.nuget.org/api/v2/ -Proxy http://www.myproxyserver.com -ProxyCredential (Get-Credential)