2013-01-04 27 views
0

我已經看到了可能的鏈接,但沒有一個能夠正常工作。在所有情況下,templateid都是-1或者processtemplate爲空。如何使用tfs查找應用於項目的流程模板Api

private ProjectProperty[] GetProcessTemplateDetailsForTheSelectedProject(string prjname) 
    { 
     var vcs = _tfs.GetService<VersionControlServer>(); 
     var ics = _tfs.GetService<ICommonStructureService>(); 
     ProjectProperty[] ProjectProperties = null; 

     var p = vcs.GetTeamProject(prjname); 
     string ProjectName = string.Empty; 
     string ProjectState = String.Empty; 
     int templateId = 0; 
     ProjectProperties = null; 

     ics.GetProjectProperties(p.ArtifactUri.AbsoluteUri, out ProjectName, out ProjectState, out templateId, out ProjectProperties); 
     IProcessTemplates processTemplates = (IProcessTemplates)_tfs.GetService(typeof(IProcessTemplates)); 

     XmlNode node = processTemplates.GetTemplateNames(); 


     return ProjectProperties; 
    } 

請在這方面提供幫助。我想了解適用於項目的過程模板。

回答

0

如果流程模板在上傳到TFS之前被賦予名稱,您只能獲得流程模板名稱。

enter image description here

正如你可以在圖片中看到,這裏有一個屬性「過程模板」,它有一個值,即模板的名稱。如果你尋找一個不存在的屬性,那麼api會返回-1,這就是你用上面的代碼運行的內容。

在這裏博客鏈接的代碼將有助於你得到的流程模板名稱,再次,僅當您在上傳之前給了流程模板的名稱。 http://geekswithblogs.net/TarunArora/archive/2011/11/15/tfs-api-process-template-currently-applied-to-the-team-project.aspx

請注意,在2012年TFS所有的流程模板已被默認命名。這不是TFS 2010的情況。

希望這回答你的問題。

+0

:當我創建於2010年TFS一個新項目,它會要求項目template.there 2個模板,通過default.MSF未來敏捷軟件開發5.0版和MSF CMMI爲過程改進v5.0.These是我猜想模板的名稱。如果我錯了,請糾正我的錯誤。但是,在運行代碼時它會變爲空。 – Shipu

相關問題