Visual studio 2010 获取TFS 2010中的解决方案文件夹名称
我正在努力获取TFS放置位置中的解决方案文件夹名称 我在以下Hirrchy中有一个.NET解决方案文件: 解决方案文件 -->解决方案文件夹A-->项目A -->解决方案文件夹B-->项目B和项目C 现在我希望我的放置位置应该像上面的项目层次结构一样进行定制 意思是:在放置位置中,它应该是:SolutionName->SolutionFolderName->ProjectName->{build output} 通过在生成模板中实现自定义输出目录,即$(TeamBuildOutDir)\$(SolutionName)\$(MSBuildProjectName),我将获得解决方案名称->项目名称->生成输出 但我没有获得解决方案文件夹名称来组织我的输出。有谁能建议如何得到这个,这样我就可以阅读我的项目文件。Visual studio 2010 获取TFS 2010中的解决方案文件夹名称,visual-studio-2010,tfs,Visual Studio 2010,Tfs,我正在努力获取TFS放置位置中的解决方案文件夹名称 我在以下Hirrchy中有一个.NET解决方案文件: 解决方案文件 -->解决方案文件夹A-->项目A -->解决方案文件夹B-->项目B和项目C 现在我希望我的放置位置应该像上面的项目层次结构一样进行定制 意思是:在放置位置中,它应该是:SolutionName->SolutionFolderName->ProjectName->{build output} 通过在生成模板中实现自定义输出目录,即$(TeamBuildOutDir)\$(So
提前感谢。您可以在项目中设置与解决方案文件夹名称对应的属性(例如,
$(SolutionFolder)
)。然后您可以将输出目录设置为$(TeamBuildOutDir)\$(SolutionFolder)
公共静态团队项目[]GetAllProjects(TfsTeamProjectCollection prjCollection)
{
var versionControl=prjCollection.GetService();
返回versionControl.GetAllTeamProjects(true);
}
公共静态项目集合GetAllIterations(TfsTeamProjectCollection prjCollection)
{
var wiStore=prjCollection.GetService();
返回wiStore.Projects;
}
///
///函数获取所有系统项目名称
///
私有void IterateFolder()
{
尝试
{var selectedProject=“EMRConversion”;
项目详细信息SelectedProject=null;
var projCollections=GetAllIterations(prjCollection);
foreach(项目集合中的项目)
{
如果(!String.IsNullOrEmpty(selectedProject))
{
if(project.Name.ToString()包含(selectedProject))
{
所选项目的详细信息=项目;
打破
}
}
}
if(detailsOfTheSelectedProject!=null)
{
cmbSystemName.Items.Clear();
foreach(所选项目的详细节点区域。区域根节点)
{
if(!(area.HasChildNodes))
{
cmbSystemName.Items.Add(area.Name);
}
foreach(区域.ChildNodes中的节点项)
{
cmbSystemName.Items.Add(item.Name);
}
}
}
}
捕获(例外情况除外)
{
掷骰子;
}
}
文件系统中不存在解决方案文件夹。嗨,Demon Bee,欢迎使用stackoverflow。我注意到你的答案贴在下面,只是一些帮助,使事情顺利进行,回答其他人的答案使用'添加评论'对他们的答案。如果您认为自己已经解决了问题,并且想分享您的解决方案,您只需要为自己的问题添加一个答案。玩得高兴是否有完整源代码示例的最终解决方案?
public static TeamProject[] GetAllProjects(TfsTeamProjectCollection prjCollection)
{
var versionControl = prjCollection.GetService<VersionControlServer>();
return versionControl.GetAllTeamProjects(true);
}
public static ProjectCollection GetAllIterations(TfsTeamProjectCollection prjCollection)
{
var wiStore = prjCollection.GetService<WorkItemStore>();
return wiStore.Projects;
}
/// <summary>
/// function to get all system project name
/// </summary>
private void IterateFolder()
{
try
{ var selectedProject = "EMRConversion";
Project detailsOfTheSelectedProject = null;
var projCollections = GetAllIterations(prjCollection);
foreach (Project project in projCollections)
{
if (!String.IsNullOrEmpty(selectedProject))
{
if (project.Name.ToString().Contains(selectedProject))
{
detailsOfTheSelectedProject = project;
break;
}
}
}
if (detailsOfTheSelectedProject != null)
{
cmbSystemName.Items.Clear();
foreach (Node area in detailsOfTheSelectedProject.AreaRootNodes)
{
if (!(area.HasChildNodes))
{
cmbSystemName.Items.Add(area.Name);
}
foreach (Node item in area.ChildNodes)
{
cmbSystemName.Items.Add(item.Name);
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}