Es gibt keine großartige Dokumentation. Ich habe das meiste von dem, was ich weiß, durch Experimente und Beispiele gelernt. Und Reflexion. Nicht die persönliche Art, die Reverse Engineering Art.
Joel Bennetts PoshConsole ist wahrscheinlich das beste OSS-Beispiel für einen benutzerdefinierten Host, den ich gefunden habe. Die StudioShell Codebasis enthält außerdem einen einfachen interaktiven Host, der auf Winforms basiert.
Das Hosting kann relativ einfach sein, abhängig von der gewünschten Interaktivität. Wenn Sie nur einige Skriptdateien ausführen möchten, ist der Code so einfach:
%Vor%Wenn Sie irgendeine Art von Interaktivität benötigen, wie zum Beispiel den Benutzer vom Skript abzufragen, sind Sie ziemlich beschränkt darauf, den Koolaid zu trinken und die meisten PSHost-, PSHostUserInterface- und PSHostRawUserInterface-Verträge zu implementieren. Auch hier würde ich mir die vorhandenen lebenden Beispiele ansehen, bevor ich alleine in das Kaninchenloch eintauche.
Ich habe eine Reihe von Blog-Posts dazu gewidmet.
Hier ist der zuerst.
Ich habe auch einen Debugger implementiert. Ich würde mich freuen, Fragen zu beantworten, die Sie haben könnten. Kontaktinformationen auf meinem Blog.
Auch hier ist ein Projekt, das tatsächlich einen Debugger unter Verwendung der API implementiert hat ... es ist das einziger Ort, an dem ich irgendeinen veröffentlichten Code gefunden habe.
Sie finden hier unter dem Blog, von dem ich meine eigene PowerShell erstellt habe, die Skripte interpretieren, ohne irgendwelche Fenster zu zeigen.
Es sind wirklich die ersten Zeilen, die Sie brauchen, und die Verknüpfung zum PowerShell SDK.
die Shell reagiert auf meine eigenen Bedürfnisse (Entschuldigung auf Französisch)
Tags und Links .net c# powershell powershell-v2.0 nuget