我想在VS2010扩展程序中发布网络应用程序。 在宏中我用来写:
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("MyWebApp").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Publish")
但这似乎不适用于扩展程序(c#)。
它在c#的第二行失败,在VBA宏中这很好用......
从VS2010扩展程序开始发布流程的正确方法是什么?
答案 0 :(得分:0)
似乎我需要将解决方案名称放在Web应用程序名称的前面,因此此代码可以正常工作:
var dte = _package.GetServiceOf(typeof(DTE)) as DTE;
string solutionName = Path.GetFileNameWithoutExtension(dte.Solution.FullName);
dte.Windows.Item(vsWindowKindSolutionExplorer).Activate();
dte.ActiveWindow.Object.GetItem(solutionName + "\\" + webProjectName).Select(vsUISelectionType.vsUISelectionTypeSelect);
dte.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Publish");
感谢Chao Kuo在我的帖子http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/2825d129-2f48-44f6-acf8-4038c9fd276d/
上的提示