質問

私は、MSのダウンロードからPowerShellのV2のCTP3をインストールして、通常の参照アセンブリは、このバージョンのC#で使用するために保存されている場所思っていました。私は、彼らがプログラムファイル内にあるv1のバージョン\ ETC \ PowerShellの\リファレンスアセンブリのために知っている....が、彼らはV2のCTP3のバージョンの場所です。私は特に新しいSystem.Management.Automation.dll

を探して

よろしく ボブます。

役に立ちましたか?

解決

私の32ビットXPシステム上で


Get-ChildItem \ -Recurse -Include System.Management.Automation.dll | 
 ForEach-Object {$.DirectoryName,$($.VersionInfo.FileVersion)}
明らかに:


   C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
6.0.6000.16386
C:\WINDOWS\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35
6.1.6949.0

ファイルバージョンを見ると GAC のは、あなたがしているバージョンであることが明らかになりました探している。しかし、それはGACにありますので、あなたはそれを参照し、それを使用するよりも、それを心配する必要はありません。

他のヒント

私の場合はパスがでました。

  

C:\ WINDOWS \ Microsoft.NET \アセンブリ\ GAC_MSIL \ System.Management.Automation \ v4.0_3.0.0.0__31bf3856ad364e35

私はそれがWindowsでこのCTPをインストールした後に更新されたフォルダを参照し、更新が行った場所を確認することがわかった道。これはあなたのお役に立てば幸いです。

あなたは、参照を解決するためにGACを使用しないでください。あなたのような何かの下で適切な参照を見つける必要があります。  C:\プログラムファイル\リファレンスアセンブリ\マイクロソフト\ WindowsPowerShell

これは、/ GACに時間をビルドするアセンブリがデザインで解決されている一般的な神話です。 (3.0と3.5が本当にCLR 2.0であるため)CLR 4.0より前、あなたはそれで逃げました。真このブレークをマルチ標的とします。そのように、あなたは常に参照アセンブリを使用する必要があります。

また、参照アセンブリが任意のコードが含まれている必要はありませんので注意してください。彼らはただ、アセンブリメタデータおよびパブリックシンボルすることができます。

ああ、私は追加するもので、GACはランタイムの解決に融合負荷によって使用されます。

デザイン/時間を構築し、私はあなたがあなたのapplicaitonを構築するためのVisual Studioを使用している、またはあなたのEXEを構築するのMSBuildを使用している時に意味します。ビルド時には、我々はEXEに配置されている参照を決定します。複数のCLRの関与がある場合がありますので、私たちは「右」のものが参照されていることを確認する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top