Verwenden des Appx-Moduls in einem anderen Netfx-Host als powershell.exe

Das Appx PowerShell-Modul wurde auf netstandard2.0 umgestellt, um sicherzustellen, dass es an der .netcore-Zukunft ausgerichtet ist und .netfx weiterhin unterstützt. Das Ergebnis dieser Neuauswertung ist ein Breaking Change, was bedeutet, dass Appx PS Module-Cmdlets (wenn sie unter einer netfx-Laufzeit ausgeführt werden) nicht funktionieren, wenn sie von anderen Prozessen als powershell.exe ausgeführt wird.

Es gibt zwei Möglichkeiten, diese Änderung abzumildern, um das Appx-Modul in einem anderen netfx-Host als powershell.exe zu verwenden.

Option 1: Jeder Prozess (außer powershell.exe), der die Appx PS Module-Cmdlets in einer netfx-Laufzeitumgebung verwenden möchte, muss die folgenden vier Laufzeitassemblys zu einem Speicherort hinzufügen, auf den zu diesem Prozess zugegriffen werden kann. Dies geschieht in der Regel durch Platzieren dieser vier Laufzeitassemblys neben der Datei *.exe des Prozesses.

  • 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)

Diese vier Laufzeitassemblys finden Sie in ihren jeweiligen NuGet-Paketen (Version 4.5.0).

Option 2: Weisen Sie die Laufzeitumgebung des Prozesses von netfx auf Netcore neu zu.