我正试图以编程方式调用Visual Studio 2012中的standart
"创建工作项"窗口。我试图通过使用命令的GUID来实现它,但它不起作用。
DTE dte = Package.GetGlobalService(typeof(DTE)) as DTE;
dte.Commands.Raise("{4BCF92C9-7FEA-4913-AF26-F93582BA9C7A}", 196608, null, null);
我试图在Microsoft.TeamFoundation.WorkItemTracking.Client
中找到一些东西,但它没有给我正确的结果。
如果您有一个Team Foundation Server设置,它看起来像您所做的,那么您可能可以通过tfs门户网站来实现这一点。对我来说,"创建工作项"位于以下位置:
http://myserver:8080/tfs/<Collection>/<Project>/_workItems
我解决了我的问题。
若要在Visual Studio 2012中以编程方式调用standart
"创建工作项"窗口,请使用DocumentService
接口。
在我的情况下,它看起来像这样:
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.WorkItemTracking;
using Microsoft.VisualStudio.TeamFoundation;
using Microsoft.VisualStudio.TeamFoundation.WorkItemTracking;
...
private DTE dte;
private EnvDTE80.DTE2 dte2;
...
dte = Package.GetGlobalService(typeof(DTE)) as DTE;
dte2 = (EnvDTE80.DTE2)dte;
DocumentService documentService = dte2.DTE.GetObject("Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.DocumentService")
as DocumentService;
WorkItem workItem = new WorkItem(workItemType); // Use type what you need
object a = new object();
IWorkItemDocument widoc = docService.CreateWorkItem(workItem, a);
docService.ShowWorkItem(widoc);