DotNet Framework 4.0 发布以后,你在 PowerShell 中执行引用 4.0 的 exe、dll,会报错,说你的Powershell的 dotnet framework 版本和你引用的 assemblis 不一致。这是因为默认PowerShell 的 Notdet FrameWork 版本是 v2.0, 我们需要让 PowserShell 支持 v4.0。
你只要创建一个 Powershell.exe.config 文件,在以下两个目录,就可以了。
- C:\Windows\System32\WindowsPowerShell\v1.0
- C:\Windows\SysWOW64\WindowsPowerShell\v1.0
1 <?xml version="1.0"?>
2 <configuration>
3 <startup useLegacyV2RuntimeActivationPolicy="true">
4 <supportedRuntime version="v4.0.30319"/>
5 <supportedRuntime version="v2.0.50727"/>
6 </startup>
7 </configuration>
2 <configuration>
3 <startup useLegacyV2RuntimeActivationPolicy="true">
4 <supportedRuntime version="v4.0.30319"/>
5 <supportedRuntime version="v2.0.50727"/>
6 </startup>
7 </configuration>
另外,也可以更改注册表, 把 RuntimeVersion 从 v2.0.50727 改成 v4.0.30319。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine