Ich beginne mich mit dem PowerShell-Modell und der Snap-In-Entwicklung zu befassen. Das erste, was mir auffällt, ist, auf System.management.automation.dll zu verweisen. In Visual Studio verfügt die Registerkarte .NET jedoch nicht über diese Assembly und kann auch nicht zu dieser Assembly navigieren
C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll
um eine dateibasierte Referenz zu erstellen.
Bin ich gezwungen, die Datei manuell zu kopieren, um eine einfache Referenz zu erhalten ?
visual-studio
powershell
Icelava
quelle
quelle
Antworten:
System.Management.Automation auf NugetSystem.Management.Automation.dll auf NuGet , neueres Paket von 2015, nicht wie das vorherige nicht gelistet!
Microsoft PowerShell-Teampakete un NuGet
Update: Das Paket gehört jetzt dem PowerShell-Team. Huzzah!
quelle
Eine Kopie von System.Management.Automation.dll wird installiert, wenn Sie das Windows SDK installieren (jedenfalls eine geeignete, aktuelle Version davon). Es sollte sich in C: \ Programme \ Referenzassemblies \ Microsoft \ WindowsPowerShell \ v1.0 \ befinden
quelle
Wenn Sie das Windows SDK nicht installieren möchten, können Sie die DLL abrufen, indem Sie den folgenden Befehl in Powershell ausführen:
quelle
Ich konnte das SDK nicht richtig installieren (einige der Dateien schienen nicht signiert zu sein, so etwas). Ich habe hier eine andere Lösung gefunden und das scheint für mich in Ordnung zu sein. Es ist überhaupt keine Installation neuer Dateien erforderlich. Grundsätzlich tun Sie Folgendes:
Bearbeiten Sie die .csproj-Datei in einem Texteditor und fügen Sie Folgendes hinzu:
zum entsprechenden Abschnitt.
Hoffe das hilft.
quelle
Wenn es sich um 64-Bit handelt - C: \ Programme (x86) \ Referenzassemblies \ Microsoft \ WindowsPowerShell ** 3.0 **
und Version könnte unterschiedlich sein
quelle
Ich habe das VS-Projektreferenzmenü verwendet und zu C: \ windows \ assembly \ GAC_MSIL \ System.Management.Automation navigiert und eine Referenz für die DLL und die Runspaces-DLL hinzugefügt.
Ich musste die .csprj-Datei nicht hacken und die oben erwähnte Referenzzeile hinzufügen. Ich habe das Windows SDK nicht installiert.
Ich habe die oben erwähnte Powershell-Kopie erstellt: Copy ([PSObject] .Assembly.Location) C: \
Mein Test mit einem Get-Process Powershell-Befehl hat dann funktioniert. Ich habe Beispiele aus Powershell für Entwickler verwendet. Kapitel 5.
quelle
Die mit dem Powershell SDK (C: \ Programme \ Referenzassemblies \ Microsoft \ WindowsPowerShell \ v1.0) gelieferte Assembly enthält keine Powershell 2-spezifischen Typen.
Das manuelle Bearbeiten der csproj-Datei hat mein Problem gelöst.
quelle
Sie können auch nuget verwenden: https://www.nuget.org/packages/System.Management.Automation/ Dies ist möglicherweise eine bessere Option.
quelle