将PowerShell与.NET 3.5运行时/库一起使用

Zac*_*ker 7 .net powershell powershell-2.0 powershell-1.0 .net-3.5

是否可以运行3.5运行时支持的PowerShell 1.0(或2.0 CTP)而不是2.0?

我们正在构建.NET 3.5解决方案,我仍然希望使用PowerShell作为计划任务的脚本引擎等.

我不需要LINQ语法或任何东西,只需要3.5库和运行时.

关注:感谢您关于动态加载程序集的回复.但是让我澄清一下我的问题:有没有办法运行PowerShell以便默认运行3.5库?因此,如果我输入New-Object System.Xml.XmlDocument,例如,我实际上是默认获得3.5版本?

半相关的问题:如果我有动态加载,也就是说,System.Xml从3.5库,将它覆盖现有的符号定义,使得接下来的时间我打字New-Object System.Xml.XmlDocument,它装载3.5版本?

Jef*_*SFT 8

如果您的系统上安装了3.5,则运行PowerShell时将获得此功能.

PowerShell只是"需要"2.0,但3.0和3.5在安装时是兼容和自动装配的.在PowerShell V2中,我们实际上会查看您拥有的版本并"点亮"某些功能(例如,当您拥有3.51时,PowerShell_ISE和Out-GridView可用).

实验!请享用!从事!

Jeffrey Snover [MSFT] Windows管理合作伙伴架构师


Jam*_*ran 4

只要你的完全限定名称正确,我不明白为什么这不起作用:

[System.Reflection.Assembly]::Load("System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
Run Code Online (Sandbox Code Playgroud)

我只使用 Linq,因为这是我第一个想到的。此时,ddl 已加载,您可以从中创建/使用对象。