.net - 如何使用 .NET 4 运行时运行 PowerShell?

标签 .net powershell .net-4.0

我正在更新管理一些 .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/

相关文章:

c# - 任务 .net4 和 Windows 服务停止

c# - Websphere MQ 7.0.1 C# XMS 连接导致 10054 (X'2746') tcp 错误

C# 后增量和前增量

javascript - 如何在 vb.net Sub 的末尾调用 javascript 函数?

PowerShell 模拟到 "dir/a:d"(Win) 或 "ls -d */"(Bash)

c# - 为什么这个 DateTime 解析总是失败?

c# - 遇到锁时如何停止线程?

node.js - 将文件通过管道传输到 uglifyjs - 从 Powershell

scripting - 如何使用Powershell监视命令的特定收件箱?

c# - Reactive Extensions 步履蹒跚的第一步