web-dev-qa-db-ja.com

Visual Studioでsystem.management.automation.dllを参照する

PowerShellモデルとスナップイン開発について検討し始めています。最初に気づいたのは、System.management.automation.dllを参照することです。ただし、Visual Studioでは、.NETタブにはそのアセンブリがなく、1つも参照できません。

C:\windows\Assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

ファイルベースの参照を作成します。

簡単に参照できるように手動でファイルをコピーするように強制された

125
icelava

NugetのSystem.Management.Automation

NuGetのSystem.Management.Automation.dll 、2015年以降の新しいパッケージ、以前のものとしてリストに載っていません!

Microsoft PowerShellチームがNuGetをパッケージ化しない

Update:パッケージはPowerShellチームが所有するようになりました。ハザ!

156
skfd

Windows SDKをインストールすると、System.Management.Automation.dllのコピーがインストールされます(とにかく適切な最新バージョン)。 C:\ Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0 \にある必要があります

95
tomasr

Windows SDKをインストールしたくない場合は、powershellで次のコマンドを実行してdllを取得できます。

Copy ([PSObject].Assembly.Location) C:\
77
kravits88

SDKを適切にインストールできませんでした(一部のファイルは署名されていないように見えました)。私は別の解決策を見つけました ここ そしてそれは私にとってはうまくいくようです。新しいファイルをインストールする必要はまったくありません。基本的に、あなたがすることは:

テキストエディターで.csprojファイルを編集し、以下を追加します。

<Reference Include="System.Management.Automation" />

関連セクションへ。

お役に立てれば。

71
JP.

64ビットの場合-C:\ Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell ** 3.0 **

バージョンは異なる可能性があります

9
pradeep

VS Project Referenceメニューを使用して、C:\ windows\Assembly\GAC_MSIL\System.Management.Automationを参照し、dllおよびRunspaces dllの参照を追加しました。

.csprjファイルをハックして、上記の参照行を追加する必要はありませんでした。 Windows SDKがインストールされていません。

上記のPowershellコピーを実行しました:コピー([PSObject] .Assembly.Location)C:\

その後、Get-Process Powershellコマンドを使用したテストが機能しました。開発者向けにPowershellの例を使用しました第5章。

1
dpminusa

Powershell SDKに付属のアセンブリ(C:\ Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0)には、Powershell 2固有のタイプが付属していません。

Csprojファイルを手動で編集して、問題を解決しました。

1
Radu

Nugetを使用することもできます: https://www.nuget.org/packages/System.Management.Automation/ これはおそらくより良いオプションです。

0
NOWAN