2012-07-17 72 views
1

我已经创建一个控制台应用这需要两个参数作为一个输入.xml文件并给输出作为.htm文件如何从TFS的路径在控制台应用程序

下面是用于访问TFS代码

TfsTeamProjectCollection teamProjectCollection = 
       TfsTeamProjectCollectionFactory.GetTeamProjectCollection 
       (new Uri("http://myServer:8080/tfs/defaultcollection")); 

      var buildService = (IBuildServer)teamProjectCollection.GetService(
               typeof(IBuildServer)); 

IBuildDefinition myBuildDefination = buildService.GetBuildDefinition(
        "MyProjectName", "MyBuildDefinationName"); 
      Uri lastKnownGoodBuild = myBuildDefination.LastGoodBuildUri; 
      IBuildDetail myBuildDetail = buildService.GetBuild(lastKnownGoodBuild); 
      string dropLocation = myBuildDetail.DropLocation; 

但以上似乎并没有为我工作...所以我想手动通过路径。 你可以看到下面的代码片段

// i have just added blackslash at the start and my problem solved 
    string xmlfile = "\\\\myTfsPath\\CodeMetricsResult.xml"; 
    if (File.Exists(xmlfile)) 
    { 
      //do something 
    } 

但由于某些原因......它总是去我else块。

请让我什么我做错了

注.... TFS的路径是网络和我所有的访问。

感谢,

回答

0

后半部分应指向现有的文件@"C:\Folder\CodeMetricsResult.xml"
这是有效的,甚至对网络中的文件@"\\netdrive\Folder\CodeMetricsResult.xml"

我想你的片段,使用TFS-SDK和一个完整的输入工作工作得很好。一些提示:

  • 确保http://myServer:8080/tfs/defaultcollection是在团队资源管理器的TeamCollection根右击正确的,选择“属性”,检查在“URL”相匹配的条目。
  • 检查MyProjectName是否与您的TeamProject和MyBuildDefinationName的确切名称匹配您的构建定义名称。
  • 右键单击MyBuildDefinitionName,在“构建”下并选择“编辑构建定义”。在“BuildDefaults”下导航并检查“此版本将输出文件复制到投递文件夹”。
  • 检查MyBuildDefinionName的最后一次成功构建是否仍然存在(=尚未删除)。为了做到这一点,请在TeamExplorer上右键单击它,选择“ViewBuilds”并在弹出的Build Explorer中找到它。一旦找到它,请在构建摘要中单击“打开放置文件夹”,以确保TFS保留它。
相关问题