c# – 在扩展中以编程方式访问visual studio的powershell控制台(包管理器控制台)

我正在尝试开发一个visual studio扩展来自动化我们的实体框架迁移过程的一部分.我检查了以编程方式添加迁移但是在查看实体框架源之后,在power
shell脚本中做了很多,所以我想在包管理器控制台(nuget)上获取一个钩子并在那里发送命令并从控制台读取结果如果可能的话.

如何在visual studio扩展中以编程方式访问包管理器控制台?

例如,我想将以下命令发送到包管理器控制台.

add-migration migration01

最佳答案 在包管理器控制台中运行脚本的最佳方法是传入参数.

EnvDTE.DTE _ObjDTE;
_ObjDTE = (DTE)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE");
var script = "function global:SaveAll {write-host \"All files saved.\"} SaveAll";
_ObjDTE.ExecuteCommand("View.PackageManagerConsole", script);
点赞