2010-08-30 6 views
2

J'écris une application qui peut exécuter des scripts PowerShell que je voudrais exécuter sur le fil de l'application. Le code suivant:J'ai du mal à exécuter ce code C# sur XP

Runspace runspace = RunspaceFactory.CreateRunspace(); // create Powershell runspace 
runspace.ThreadOptions = PSThreadOptions.UseCurrentThread; 

Works et compile bien sur Windows 7, mais ne peut pas être compilé dans XP en raison de ces erreurs:

'System.Management.Automation.Runspaces.Runspace' does not contain a definition for 
    'ThreadOptions' and no extension method 'ThreadOptions' accepting a first argument of type 
    'System.Management.Automation.Runspaces.Runspace' could be found (are you missing a using 
    directive or an assembly reference?) 


    The name 'PSThreadOptions' does not exist in the current context 

Est-ce problème lié à Powershell v1 vs v2? J'ai l'installation. NET 4 sur les machines XP (et VS 2010). Merci!

Répondre

4

De here:

"Cette propriété est introduit dans Windows PowerShell 2.0."

+0

Merci! Maintenant, pour voir si je peux comprendre un travail autour ... :) – Evan

+2

Pouvez-vous installer PowerShell 2.0 via le Microsoft Management Framework pour XP (http://support.microsoft.com/kb/968929)? Notez que cela n'a rien à voir avec .NET 4. –

+0

@Keith, merci une tonne - cela a pris fait le code ci-dessus fonctionne! – Evan