我正在尝试开发一个 visual studio 扩展来自动化我们 Entity Framework 迁移过程的一部分。我检查了以编程方式添加迁移,但在查看 Entity Framework 源代码后,在 powershell 脚本中完成了很多工作,所以我想在包管理器控制台 (nuget) 上 Hook 并在那里发送命令并从控制台读取结果如果可能的话。
如何在 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);
关于c# - 在扩展程序中以编程方式访问 visual studio 的 powershell 控制台(程序包管理器控制台),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030547/