Mehrere Powershell-Versionen in Visual-Studio C-Sharp CmdLet-Project unterstützen
Hallo Alle,
In unserem Unternehmen gibt es leider einige Maschinen die noch mit Powershell 5.0 betankt sind, weil sie aufgrund von Abhängigkeiten einige Updates nicht empfangen dürfen.
Ich schreibe gerade ein CmdLet in C# und nutze dafür die Nuget-Extension Microsoft.PowerShell.5.1.ReferenceAssemblies. Die älteren Maschinen würden aber Microsoft.PowerShell.5.0.ReferenceAssemblies benötigen. Andernfalls bekomme ich einen sehr unschönen Fehler (Der Objekt-Verweis wurde nicht auf eine Object-Instanz festgelegt) und das CmdLet kann nicht verwendet werden.
Das Problem:
Ich kann nicht beide Microsoft.PowerShell.ReferenceAssemblies gemeinsam oder gleichzeitig nutzen, müsste also 2 Solutions erstellen und dann auch noch feststellen auf welcher Maschine ich welche Dll verwenden darf. Das ist sehr umständlich und nicht praktikabel.
Hat jemand eine Idee wie ich dieses Problem lösen kann?
Danke für die Unterstützung!
Mayho
In unserem Unternehmen gibt es leider einige Maschinen die noch mit Powershell 5.0 betankt sind, weil sie aufgrund von Abhängigkeiten einige Updates nicht empfangen dürfen.
Ich schreibe gerade ein CmdLet in C# und nutze dafür die Nuget-Extension Microsoft.PowerShell.5.1.ReferenceAssemblies. Die älteren Maschinen würden aber Microsoft.PowerShell.5.0.ReferenceAssemblies benötigen. Andernfalls bekomme ich einen sehr unschönen Fehler (Der Objekt-Verweis wurde nicht auf eine Object-Instanz festgelegt) und das CmdLet kann nicht verwendet werden.
Das Problem:
Ich kann nicht beide Microsoft.PowerShell.ReferenceAssemblies gemeinsam oder gleichzeitig nutzen, müsste also 2 Solutions erstellen und dann auch noch feststellen auf welcher Maschine ich welche Dll verwenden darf. Das ist sehr umständlich und nicht praktikabel.
Hat jemand eine Idee wie ich dieses Problem lösen kann?
Danke für die Unterstützung!
Mayho
Please also mark the comments that contributed to the solution of the article
Content-ID: 594832
Url: https://administrator.de/contentid/594832
Printed on: November 5, 2024 at 04:11 o'clock
4 Comments
Latest comment
Einfach den Common Namespace der niedrigsten Version importieren und die niedrigste zu unterstützende NET Framework Version für das Projekt auswählen.
https://www.powershellmagazine.com/2014/03/18/writing-a-powershell-modul ...
Dann läuft das auch auf den neueren PS Versionen.
https://www.powershellmagazine.com/2014/03/18/writing-a-powershell-modul ...
Dann läuft das auch auf den neueren PS Versionen.
Hmm, geht hier aber problemlos.