[VSIX] 自動下載某一個NUGET 上的套件至專案中
2017-07-24
上一篇文章 [VSIX] 第一次寫個簡單Visual Studio 外掛就上手 寫完後,有朋友就問我說,是否可以讓他按下後可以讓專案安裝某個NUGET 上面的套件,後來上網查了一下之後,是要對 Package Manager Console 去下指令,其中,概念不難,只要方向然後網路上找一下方法就可以了
1. 建立VSIX 專案,相關方法 可以參考 [VSIX] 第一次寫個簡單Visual Studio 外掛就上手
2. 點選 後的事件:
C# Code :
private void MenuItemCallback(object sender, EventArgs e) { EnvDTE80.Solution2 solution; var dte = (EnvDTE.DTE)ServiceProvider.GetService(typeof(EnvDTE.DTE)); if (dte != null) { solution = (EnvDTE80.Solution2)dte.Solution; if (solution != null) { VsShellUtilities.ShowMessageBox( this.ServiceProvider, "安裝JSON.net至專案中", "Info", OLEMSGICON.OLEMSGICON_INFO, OLEMSGBUTTON.OLEMSGBUTTON_OK, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); if (solution.Projects.Count > 0) { Projects projects = solution.Projects; var list = new List<Project>(); var item = projects.GetEnumerator(); while (item.MoveNext()) { var project = item.Current as Project; EnvDTE.DTE _ObjDTE = project.DTE; var script = "Install-Package Newtonsoft.Json -ProjectName " + project.Name; _ObjDTE.ExecuteCommand("View.PackageManagerConsole", script); } } } }
其中 "View.PackageManagerConsole" 會將 套件管理主控台叫起來
之後執行安裝指令,至於安裝指令 可以參考 nuget 網站 上面都有
這樣就可以做到點選後就直接幫專案安裝上指定NUGET 上的套件
source code : https://github.com/donma/VSExtensionDemo2
標籤:
.Net
,
C#
,
Visual Studio
,
VSIX
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...