我的PowerShell脚本使用哪个.NET版本?

时间:2010-07-27 14:50:38

标签: .net powershell version

我想在我即将编写的一些PowerShell脚本中使用.NET - 如何知道/声明这些脚本运行时我正在处理哪个版本的.NET?

是否可以选择运行我的脚本的哪个版本的.NET?

7 个答案:

答案 0 :(得分:39)

在PowerShell 2.0上,只需看一眼$PSVersionTable变量:

PS> $psversiontable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.4927
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

在PowerShell 1.0上,使用[System.Environment]::Version

PS> [Environment]::Version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      50727  4927

答案 1 :(得分:16)

  

...不,您无法选择可以运行脚本的.NET版本   乔治豪沃思

哇,这不是真的!您可以指定PowerShell使用的.NET版本。关键是.NET标准应用程序配置文件,其格式为[appname] .exe.config。您可以将其放在与大多数.NET应用程序相同的目录中 - 包括PowerShell和PowerShell ISE可执行文件 - 并且CLR将自动加载配置文件中指定的任何可识别选项。其中一个选项是您希望应用程序使用的CLR版本。

问题详细记录了这些内容: How can I run PowerShell with the .NET 4 runtime? 。特别是,请参阅 Emperor XLII 的帖子。

答案 2 :(得分:15)

获取.NET版本:

[System.Reflection.Assembly]::GetExecutingAssembly().ImageRuntimeVersion

...默认情况下,CLR的版本是在下编译的程序集(System.Management.Automation.dll)。

不,你不能选择在哪个.NET版本下运行脚本。

答案 3 :(得分:7)

可以从mscorlib的版本推断出.NET版本。因此,您可以在PowerShell中执行以下操作以输出当前版本的.NET:

$a = [System.Reflection.Assembly]::Load("mscorlib")
$a.GetName().Version

答案 4 :(得分:1)

查看文章 Hey, Scripting Guy! How Do I Check Which Version of Windows PowerShell I'm Using? 。它显示了注册表中的哪个位置可以检查以确定这一点。

答案 5 :(得分:0)

PS> [Runtime.InteropServices.RuntimeEnvironment] :: GetRuntimeDirectory()
C:\的Windows \ Microsoft.NET \框架\ V2.0.50727 \

答案 6 :(得分:-4)

我发现你可以在C:\ Windows \ Microsoft.NET \ Framework目录中查找该信息:

cd C:\Windows\Microsoft.NET\Framework
dir

那个目录中的目录会告诉你安装的框架的版本。

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        14/07/2009     10:48            3082
d----        14/07/2009      4:37            v1.0.3705
d----        14/07/2009      4:37            v1.1.4322
d----        25/06/2010     17:26            v2.0.50727
d----        14/07/2009     10:48            v3.0
d----        14/07/2009     10:48            v3.5