Tag: tfs

从代码注释中引用TFS工作项

在Visual Studio(2012+)中,我想要一个从代码注释到TFS工作项的可点击引用。 有没有一种简单的方法可以做到这一点,这也可能来自函数体内的注释(不是函数的摘要)? 所以我想要这样的东西: /// /// Example of a summary /// static void Main() { int dummy = 1; //Should be 1 according to @Task1234 <- should be a hyperlink } 而不是这样的事情: /// /// Example of a summary, see Task 1234 . /// static void Main() { } 一些标签阅读材料: 文档注释的推荐标签(C#编程指南)

持续部署和交付

我们有一个包含+10个项目的解决方案,其中2个是网站。 现在我需要设置链接到我们的TFS服务器的构建定义,构建解决方案并将2个站点部署到正确的Azure网站。 我尝试过几种不同的方法,但每次交付似乎都失败了。 在TFS服务器上构建项目是没有问题的,但是当azure需要提供正确的asp项目时,它正确的Azure网站失败了…任何人都可以指出我如何创建这样的构建定义的正确方向,以及指定交付选项的位置? 编辑: 用我们构建的图像来说明。 所以我们在这个文件夹中有2个网站: 我想将此文件夹中的这两个网站发布到正确的azure色位置。 有没有人知道一个很好的方法来实现2个网站的成功持续交付?

以编程方式强制TFS WorkItem的字段值

我正在编写一个实用程序来读取遗留错误跟踪系统中的所有缺陷,并将它们导入TFS(2008/2010)。 我正在使用TFS API创建新的WorkItems,设置它们的字段,然后保存它们。 但是,我无法修改“创建者”和“创建日期”字段,因为这些字段是由系统设置的。 (还有其他字段,我希望能够强制使用值,例如将提交者设置为不是有效TFS用户的人) // these fail with “The value for the field ‘Created By’ cannot be changed.” defectWorkItem.Fields[“Created By”].Value = defect.Submitter; defectWorkItem.Fields[“Created Date”].Value = defect.SubmitDate; 显然,如果我不能设置这些字段,我将最终得到所有遗留的错误,看起来它们是由同一个人在同一天创建的。 有没有办法可以使用API​​但强制通过更改通常受保护的字段? 我已经考虑过直接访问TFS数据库表,但架构看起来很复杂,我认为尝试自己修改数据会很危险。

你应该在哪里存储第三方集会?

好的,我们有一个相当大的解决方案,里面有大约8个不同的项目。 这些项目中的每一个都依赖于各种不同的第三方组件。 此解决方案位于源控制的主干分支中。 我们还有大约5个不同的树干分支。 管理这些第三方程序集的最佳方法是什么? 当您添加对程序集的引用然后单击它并查看属性窗口时,我注意到它具有到程序集的硬编码路径。 例如:我们所有的分支都映射到“C:\ Code \”。 因此trunk将是“C:\ Code \ Trunk”,而分支将是“C:\ Code \ somebranch”。 如果我在“C:\ Code \ Trunk”中创建一个名为“Assemblies”的文件夹,然后将所有第三方程序集放在该文件夹中,然后我添加一个程序集的引用,那个程序集引用是否相对? 如果我单击添加的程序集,我会看到灰色的路径属性显示为“C:\ Code \ Trunk \ Assemblies \ someassembly.dll”。 如果我然后从树干分支会发生什么? “somebranch”仍然会引用“C:\ Code \ Trunk \ Assemblies \ someassembly.dll”,还是会引用“C:\ Code \ somebranch \ Assemblies \ someassembly.dll”? 目前,我们实际上在源控件中有一个名为“Assemblies”的分支,它像任何其他分支一样映射到“C:\ Code \”。 因此,所有带有引用程序集的项目的分支都引用了“C:\ Code \ Assemblies \ someassembly.dll”,无论项目位于哪个分支,路径都是相同的。 不幸的是,这意味着您必须获得正在使用的分支的最新版本以及程序集分支,以便成功构建解决方案。 总而言之: […]

而不是“数据行0”,“数据行1”等输出自定义名称

在Visual Studio Team Foundation Server 2013中,我正在使用unit testing框架。 具体来说,我正在使用将从XML文件中读取的数据驱动测试。 我的问题的要点 这是一些示例代码: using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] public class DataDrivenTestingClass{ public TestContext TestContext{get; set;} [TestMethod] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”, “test.xml”, “XMLTests”, DataAccessMethod.Sequential)] public void MyOnlyDataDrivenTestFromXML(){ var testName = TestContext.DataRow[0].ToString(); //… blah blah blah other logic // Assert.IsTrue(true); //of course this is not what I really do } } 输出将如下所示: 测试通过 – MyOnlyDataDrivenTestFromXML(数据行0) […]

如何使用c#API移动TFS文件?

我一直在谷歌搜索如何使用TFS API使用c#移动文件。 我们的想法是有一个文件夹,开发人员在其上放置数据库升级脚本,构建过程到文件夹创建一个构建脚本,并将文件夹上的所有文件移动到我们刚创建的数据库构建版本的新文件夹。 我无法认真地找到有关在TFS中以编程方式移动文件的任何参考信息…(除了cmd命令行) 有没有人知道通过c#学习TFS源控制文件操作的良好指南/ msdn起点?

如何使用Team Foundation的库来计算统一差异?

我想计算比较两个文档的统一差异 。 (差异是用电子邮件发送的,维基百科说统一差异是最好的纯文本差异格式。) Team Foundation有一个命令行界面 > tf diff /format:unified alice.txt bob.txt – Alice started to her feet, + Bob started to her feet, ( https://gist.github.com/hickford/5656513上的示例文件) 很棒,但出于通常的原因,我宁愿使用库而不是启动外部进程。 搜索MSDN,我发现Team Foundation有一个.NET库Microsoft.TeamFoundation.VersionControl 。 但是,文档没有给出任何计算差异的例子。 如何使用Team Foundation库计算统一差异? 编辑:我尝试了方法Difference.DiffItems但它没有工作 – 文件diff.txt被留空。 var before = @”c:\alice.txt”; var after = @”c:\bob.txt”; var path = @”c:\diff.txt”; using (var w = new StreamWriter(path)) { var […]

是否有一个.NET API等同于TFS 2015的“Build 2.0”REST API?

VS Team Services和TFS页面的REST API参考分离了“Build 1.0”和“Build 2.0”API。 似乎.NET API中也存在这样的差异,因为运行以下代码只列出“旧的”XAML构建定义而不是新的定义。 var tpc = new TfsTeamProjectCollection(new Uri(“http://tfsurl”)); var buildServer = tpc.GetService(); var def = buildServer.QueryBuildDefinitions(“Project Name”); // Finds only XAML definitions 是否有一个新的DLL我可以参考编写与新TFS一起使用的等效代码,或者是所有的Web API?

如何摆脱“API限制UnitTestFramework.dll已加载”错误?

偶尔会弹出以下错误: C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamTest\Microsoft.TeamTest.targets(14,5): error : API restriction: The assembly ‘file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll’ has already loaded from a different location. It cannot be loaded from a new location within the same appdomain. 我怎么摆脱它?

将EXE文件添加到项目中,以便将它像DLL一样复制到Bin / Debug文件夹中?

我需要我的C#项目在执行期间启动另一个EXE程序。 这个可执行文件需要放在与构建解决方案的C#程序相同的文件夹中,例如,调试文件夹 – 就像DLL文件引用一样 – 这样当我的团队成员从TFS检查项目时, debug,当我的C#代码试图调用它时发现EXE。 但是,EXE本身不是引用,因此它不能作为引用添加,即使我希望以与引用相同的方式复制它。 这个问题有合理的解决方案吗? 提前致谢。