是否可以运行powershell传递我们需要的.NET CLR版本?
使用Powershell V2的系统默认使用CLR版本2,我们需要版本4.
我们可以将配置文件实现为:
赞this:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
但我们不希望在客户服务器上进行更改,这可能会破坏依赖PowerShell的其他程序。
答案 0 :(得分:1)
您可以在脚本中检查CLR版本,如果不满足最低要求,则退出并显示错误:
if ($PSVersionTable.CLRVersion.Major -lt 4) {
Write-Error 'CLR Version 4.0 or newer required.'
exit 1
}
或者,如果检查最小PowerShell版本也可以,那么您可以在脚本的第一行添加#requires
directive:
#requires -version 4.0