Using PowerShell with .NET 3.5 runtime/libraries


Is it possible to run PowerShell 1.0 (or 2.0 CTP) backed by the 3.5 runtime instead of 2.0?

We're building a .NET 3.5 solution, and I'd still like to use PowerShell as our scripting engine for scheduled tasks, etc.

I don't need LINQ syntax or anything, just the 3.5 libraries and runtime.

FOLLOWUP: thank you for the reply about dynamically loading assemblies. But let me clarify my question: is there any way to run PowerShell so that the 3.5 libraries run by default? So that if I enter New-Object System.Xml.XmlDocument, for example, I'm actually getting the 3.5 version by default?

Semi-related question: if I do have to dynamically load, say, the System.Xml library from 3.5, will it overlay the existing symbol definitions such that the next time I type New-Object System.Xml.XmlDocument, it will load the 3.5 version?


If you have 3.5 installed on your system, that is what you'll get when you run PowerShell.

PowerShell is only "requires" 2.0 but 3.0 and 3.5 are compatible and autoforward when installed. In PowerShell V2, we actually look to see what version you have and "light up" certain features (e.g. PowerShell_ISE and Out-GridView are available when you have 3.51).

Experiment! Enjoy! Engage!

Jeffrey Snover [MSFT] Windows Management Partner Architect

3.5 is effectively an ADD-ON for 2.0. That is to say, there are no superceded classes in 3.5; it is not a replacement. The CLR (common language runtime) is still v2.0.

By : x0n

If the HTML you want to generate is exceedingly dynamic you might not be able to write an elegant template for it, so things like HTMLGen or pyhtmloo could be the way to go.

This video can help you solving your question :)
By: admin