是否有System.Management.Automation
程序集的2.0(或更高版本)?
我正在查看C#中的PowerShell
类,该类说明此类是随PowerShell 2.0
引入的。当我在Visual Studio中添加对程序集的引用时,该版本号是否与我看到的版本号相对应?
这是my other question的另一个问题,即在解决该程序集中的PowerShell
类时遇到问题。
我在GAC中尝试了System.Management.Automation
程序集:
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。
答案 0 :(得分: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年,你至少在powershell的v3上。
我希望这会有所帮助。