[英]Is there any way I can run Azure PowerShell cmdlets using Visual Studio?
[英]Can Visual Studio 2012 be automated using cmdlets?
如果可以使用PowerShell完成,我很好奇。
就個人而言,我想要實現自動化:將現有的本地IIS網站添加到解決方案中
我看到一個人試圖用COM做這件事,但顯然沒有任何運氣。 使用Powershell自動化Visual Studio 2012,做錯了嗎?
您可以使用PowerShell自動化Visual Studio 2012。 程序包管理器控制台實際上是PowerShell主機。 從包管理器控制台,變量$ dte是用於自動化大多數Visual Studio的COM自動化對象。
有關更多詳細信息和一些示例,請參閱http://www.wintellect.com/blogs/jrobbins/using-nuget-powershell-to-replace-missing-macros-in-dev-11 。
我意識到這是一個古老的問題,但對於那些仍對此感興趣的人......
實際上,編寫自己的cmdlet以獲取DTE對象的COM綁定以在PowerShell腳本中使用時,實際上沒有太多代碼。 有關正在運行的Get-DTE ...
cmdlet源代碼的相關問題,請參閱我的答案 。 一旦你有DTE綁定,它幾乎與你在別處可能看到的所有例子相同。
PS C:\> Import-Module .\GetDTECmdlet.dll;
PS C:\> $dte = Get-DTE | Select-Object -First 1;
PS C:\> $dte = Get-DTE -ProcID 8547 | Select-Object -First 1;
PS C:\> $dte = Get-DTE -FromAncestorProcs | Select-Object -First 1;
PS C:\> $dte.ExecuteCommand('Help.About');
PS C:\> [Runtime.InteropServices.Marshal]::ReleaseComObject($dte); | Out-Null;
cmdlet的源代碼可能有點過分,除非您想要像我一樣從前/后構建步驟訪問DTE。 但是,它應該足以讓你開始。
而且,如果您真的想避免深入構建自己的cmdlet,那么您可以在同一個問題上看到這個答案 ,該問題實際上是在PowerShell Add-Type -TypeDefinition @"..."@
命令中包含cmdlet中的C#代碼您根本不需要GetDTECmdlet.dll
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.