.NET框架实际上不在4上吗?

.NET框架实际上不在4上吗?

我正在编写一个 powershell 脚本,在运行 powershell v2 的 windows server 2008-r2 机器上运行,它需要压缩文件的能力。为此,我需要有这行代码来导入程序集:

add-type -path "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.IO.Compression.FileSystem.dll"

但是,当我运行代码时,出现以下错误:

Add-Type : Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.IO.Compressi
on.FileSystem.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runt
ime and cannot be loaded.

因此我使用此处提供的注册表方法检查了安装的 .NET 版本:Microsoft:如何确定安装了哪些 .NET Framework 版本

果然,我

378758 == .NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2

它甚至显示安装路径为:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

有人知道这里可能是什么问题吗?或者我可以做什么来解决这个问题(无需软件更新/安装)。

相关内容