2013-06-11 7 views
6

​​アセンブリのバージョンが2.0(またはそれ以上)ですか?2.0バージョンのSystem.Management.Automation?

私はこのクラスがPowerShell 2.0で導入されたというC#のPowerShellクラスを見ています。そのバージョン番号は、Visual Studioでアセンブリへの参照を追加したときに表示されているバージョン番号に対応していますか?

my other questionは、このアセンブリ内のPowerShellクラスを解決する際に問題が発生していることに関する追加の質問です。

私は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 

両方含むフォルダのみ、私はPowerShellの2.0がインストールされているバージョン1.0

を持っています。

答えて

6

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またはサーバー2003/2008の場合です。 Windows 7、2008r2を実行している場合は、最低でもv2を使用しています。あなたが8または2012年にいる場合、あなたは最低でもPowerShellのv3にいます。

こちらがお役に立てば幸いです。

+0

私はWindows Server 2008 R2を使用していますが、私の質問には答えていると思いますので、PowerShell 2.0の場合はバージョン1.0になります。しかたがない。解決するために 'PowerShell'クラスを取得することに私の[元の質問](http://stackoverflow.com/questions/17051184/no-powershell-in-system-management-automation)に戻る。 – tnw

関連する問題