Come usare il modulo Appx in un host netfx diverso da powershell.exe

Il modulo Appx PowerShell è stato riabilitato in netstandard2.0 per assicurarsi che sia allineato al futuro di .netcore, continuando a supportare .netfx. Il risultato di questa ridestinazione è una modifica che causa un'interruzione che indica che i cmdlet del modulo PS Appx (quando vengono eseguiti in un runtime netfx) non funzioneranno durante l'esecuzione da processi diversi da powershell.exe.

Esistono due modi per attenuare questa modifica per usare il modulo Appx in un host netfx diverso da powershell.exe.

Opzione 1: ogni processo (diverso da powershell.exe) che vuole usare i cmdlet del modulo Ps Appx in un ambiente di runtime netfx dovrà aggiungere i 4 assembly di runtime seguenti a un percorso accessibile a tale processo. In genere questa operazione viene eseguita inserendo questi quattro assembly di runtime accanto al file *.exe del processo.

  • System.Memory.dll (4.0.1.0, netstd, v2.0)
  • System.Numerics.Vectors.dll (4.1.4.0, netstd, v2.0)
  • System.Runtime.CompilerServices.Unsafe.dll (4.0.4.0, netfx, v4.0)
  • System.Security.Principal.Windows.dll (4.1.1.0, netfx, v4.0)

Questi quattro assembly di runtime sono disponibili nei rispettivi pacchetti NuGet (versione 4.5.0).

Opzione 2: Ridestinare l'ambiente di runtime del processo in netcore da netfx.