2011-12-21 36 views
2

現在実行中のVisual Studioインスタンスのインスタンスを取得するにはどうすればよいですか? Visual Studioの外部でVisual Studioオブジェクトモデル(DTE)にアクセスする必要があります。私はPowerShellのISEからスクリプトをインストールnugetを実行したい実行中のVisual Studioインスタンス(DTE)をpowershellから取得

- スクリプトがやっていると、なぜ私が

期待して何をしていないものをよりよくunerstandにできるようにだから私は、インストールするすべてのパラメータに供給するようにしたいです.ps1というが

PARAM( [パラメータ(必須= $真)] [文字列] $ INSTALLPATH、 [パラメータ(必須= $真)] [文字列] $ toolsPath、 [パラメータ(必須= $真取り込み)] $ package、 [パラメータ(必須= $ true)] $ project )

それはgowever

プロジェクトおよびパッケージは、私はnugetコマンドレットへのアクセスを持っていますトリッキーなもの

あり、文字列パラメータを設定するのは簡単です。私はそれを達成するために投稿thisを続けた。

だから私は、私は

$プロジェクトのようなものをしようとすると、すべての罰金

を作品PackageManagement.Cmdlets.dll

今=は、Get-ProjectはSmartCom.Registration.Logic

-nameモジュールをインポートします

"このコマンドを実行するには、プロジェクトを開いておく必要があります。"というメッセージが表示されます。だから私は最初にDTEを介して対にフックし、ソリューションを開いて、これを動作させるためにプロジェクトをロードする必要があると思いますか?

私は自動的にフックアップVS PowerConsoleのようなものがあることを知っているが、この場合には、私はそれが私が

任意のアイデアISA powershelでそれをデバッグすることができ、VSの外で仕事をしたいですか?

答えて

1

あなたがリンクしたポストはSharpDevelopを使用して、Visual Studio以外でNuGet PowerShellコマンドレットを使用できるようにします。それはVisual Studioに依存しないので、Visual Studioのインスタンスを開くことはあなたを助けるでしょう。

現在解決策がないため、エラーが表示されています。そして、あなたはGET-プロジェクトコマンドレットを呼び出すことができるはず

set-project MyProject d:\Projects\MyProject\MySolution.sln 

:あなたはセットプロジェクトコマンドレットを使用することができるソリューションを開きます。

+0

魅力のように働いて、歓声。 – ambidexterous

4

、あなたはこれを行うことができますVisual Studioが実行されている(とインスタンスが1つだけあります)と仮定:

PS> $dte = [runtime.interopservices.marshal]::GetActiveObject("visualstudio.dte") 
PS> $dte 

Name     : Microsoft Visual Studio 
... 

・ホープ、このことができます。

+0

ありがとう、それは有用だった – ambidexterous

関連する問題