我正在更新管理一些 .NET 程序集的 PowerShell 脚本。该脚本是为针对 .NET 2(与 PowerShell 运行的框架版本相同)构建的程序集编写的,但现在需要使用 .NET 4 程序集以及 .NET 2 程序集。
由于 .NET 4 支持运行针对旧版本框架构建的应用程序,因此最简单的解决方案似乎是当我需要针对 .NET 4 程序集运行 PowerShell 时,使用 .NET 4 运行时启动 PowerShell。
如何使用 .NET 4 运行时运行 PowerShell?
最佳答案
我找到的最佳解决方案在博客文章 Using Newer Version(s) of .NET with PowerShell中。这允许 powershell.exe 与 .NET 4 程序集一起运行。
只需修改(或创建)$pshome\powershell.exe.config
,使其包含以下内容:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
其他快速设置说明:
位置和文件在某种程度上依赖于平台;但是,它将为您提供如何使该解决方案适合您的内嵌要点。
- 您可以通过在 Powershell 窗口中执行
cd $pshome
来查找 PowerShell 在计算机上的位置(在 DOS 提示符下不起作用)。- 路径类似于(示例)
C:\Windows\System32\WindowsPowerShell\v1.0\
- 路径类似于(示例)
- 如果正在执行
PowerShell.exe
,则放置配置的文件名是:powershell.exe.config
(如果需要,请创建配置文件)。- 如果
PowerShellISE.Exe
正在运行,则您需要将其配套配置文件创建为PowerShellISE.Exe.config
- 如果
关于.net - 如何使用 .NET 4 运行时运行 PowerShell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094694/