7

是否有 2.0(或更高)版本的System.Management.Automation程序集?

我正在看PowerShellC# 中的类,它说这个类是用PowerShell 2.0. 该版本号是否与我在 Visual Studio 中添加对程序集的引用时看到的版本号相对应?

这是我的另一个问题的一个附加问题,即在解决该程序集中的类时遇到问题PowerShell

我已经System.Management.Automation在两个 GAC 中尝试了该程序集:

C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35

并且Reference Assemblies

C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0

两个包含的文件夹都只有 1.0 版

我安装了 PowerShell 2.0。

4

1 回答 1

7

powershell v1 和 powershell v2 的强名称版本是1.0.0.0. 是的,令人惊讶,但这是向后兼容设计的功能。powershell v1 和 v2 都在 CLR2 上运行。Powershell v3 在 CLR4 上运行,因此他们将强名称版本推向3.0.0.0了该版本。

只是为了进一步混淆问题,所有版本的 Windows 文件夹名称都是 v1.0 - 再次出于兼容性原因。

实际运行真正的 powershell v1.0 的唯一方法是在 Windows XP、vista 或 server 2003/2008 上。如果您运行的是 Windows 7、2008r2,则至少在 v2 上。如果您使用的是 8 或 2012,那么您至少使用的是 v3 的 powershell。

我希望这有帮助。

于 2013-06-12T00:32:01.050 回答