问题标签 [tfsbuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1300 浏览

tfsbuild - 自定义构建任务:如何将输出写入构建日志文件

我需要我的自定义团队构建任务将一些输出写入构建日志文件。我该怎么做呢?

从 Task 基类继承的 Execute 方法只有一个布尔值作为返回参数。

0 投票
1 回答
435 浏览

tfs - 使用属性设置项目元数据

我一直在尝试使我的 TFS 构建中的任务更通用,我想做的一件事是根据使用该任务的构建将一些文件复制到不同的目录。我玩弄了使用属性的想法,但我想不出一种干净的方法,所以我尝试使用项目元数据,因为我已经能够在同一个目标文件的另一个地方这样做我正在努力,只是这一次,我想使用属性。

这是我想要做的:

后来在构建中,我尝试通过引用项目元数据将一些文件复制到目标文件夹:

不幸的是,构建运行后,我的 BuildLog 显示以下内容:

%(DestinationParentPath) 已扩展为空字符串,无论出于何种原因。使用 %(DestinationParent.DestinationParentPath) 会产生错误,告诉我我应该简单地使用 %(DestinationParentPath)。$(DeploymentPath) 在构建中的其他几个地方按预期扩展为正确的字符串。

另一个混淆的来源是使用 %(ConfigurationToBuild.FlavorToBuild) 产生了正确的值,即 Test,如下所示:

编辑:这是在根节点 Project 下定义的,而具有 DestinationParentPath 的 ItemGroup 是在 Target 节点下定义的。这也有影响吗?

当您只对项目元数据中的字符串感兴趣时,似乎 Include 属性并不相关,因为我很确定“Test|Any CPU”没有引用任何实际文件。

那么再一次,为什么 %(DestinationParentPath) 扩展为一个空字符串?

编辑:我忘了提到我也尝试硬编码 DestinationParentPath 的实际路径,但这仍然导致 %(DestinationParentPath) 扩展为空字符串。

0 投票
2 回答
1716 浏览

tfs - 在 TFS 构建中首次运行后跳过自定义目标

我的构建中有一个自定义目标(一组复制任务等),我需要调用几次才能在不同位置进行更改。但是,这只在第一次调用时运行,之后 TFS 构建会跳过所述目标。

过程如下:

在构建日志中,可以看到目标“CopyFiles”在第二次调用时被跳过:

为什么会这样?有没有办法强制目标(或我编写的任何自定义目标)运行多次?

0 投票
1 回答
1239 浏览

sharepoint - 访问被拒绝 - 从 TFS 调用 PSEXEC

我正在为 SharePoint 部署实施持续集成方案。在构建服务器上构建完所有功能后,我试图通过 PSEXEC 运行 STSADM 命令将新功能部署到测试服务器。

当我从我登录的任何机器上运行我的脚本时,它运行良好。当我将 exec 命令添加到我的团队构建项目时

构建部分失败,并且我在构建日志中收到拒绝访问的错误:

我已将 TFS 服务帐户添加为构建服务器和测试服务器上的本地管理员。

关于为什么这可能适用于我是交互式用户的任何盒子的任何想法,但不是从构建代理运行 psexec 时?

0 投票
1 回答
14250 浏览

.net - 如何在远程计算机上执行批处理文件?

我希望能够在构建后在远程计算机上运行批处理文件,其中构建输出和批处理文件位于构建机器上。

换句话说,我希望远程计算机上运行的批处理文件位于构建服务器上,可通过 UNC 路径获得。

我查看了 WMI (System.Management) 命名空间,但没有找到告诉它查看批处理文件的 UNC 路径的正确方法。

WMI 以外的解决方案也值得赞赏。

凯文

0 投票
1 回答
17067 浏览

tfs - MSBuild TFS 内部版本号

我已经使用 SVN 一段时间了。最近在我使用 TFS 的一个项目中。对于构建,我喜欢在项目输出上附加/更新构建版本号。我在母版页上执行此操作,以便它在应用程序上清晰可见。由于应用程序可以在多台机器上运行,因此它是有关正在运行的版本的方便信息。

我在 SVN 世界中实现了这一点:

正如您在上面看到的,“BeforeBuild”任务使用 YYYY.MM.DD.SVNVERSION 标记更新 masterPage.master 文件。

如何使用 TFS 作为源代码控制来实现这一点。如何获取 TFS 内部版本号?

0 投票
1 回答
140 浏览

testing - 每天自动运行 VSTS Web 测试

请我想要一种方法来制定每日计划,以便在夜间自动运行一组 VSTS 2008 Web 测试。

0 投票
1 回答
113 浏览

tfsbuild - 如何设置团队建设

如何设置 Teambuild,我想知道如何设置构建机器的过程。任何代理设置?如何将构建服务器集成到 TFS 服务器进行构建?

0 投票
1 回答
1163 浏览

visual-studio-2008 - Web 部署项目团队构建错误

Visual Studio 2008 Web 部署项目团队构建 ASPPARSE 错误

我似乎有一个共同的问题;一个正在出现但没有明确解决方案的人。

我有一个 Visual Studio 2008 项目结构,其中包含几个项目,它们是类库、一个 Web 应用程序项目和一个最近添加的 Web 部署项目。我听说过 MVC 设置的这个问题。此外,我看到的解决方案假设正在使用 MVC。

我已经验证了构建在 IDE 中可以正常工作。除了由于单个程序集合并而生成的程序集的名称之外,我没有更改 Web 部署项目的默认设置。

我已将我的解决方案设置为仅在为“发布”构建解决方案时构建 Web 部署项目。我有一个自定义构建脚本,它可以抓取这个代码分支和一个开发代码分支。构建脚本正确构建了此代码的发布版本和开发分支的调试版本。

构建发布版本时出现问题。除 Web 部署项目外,所有项目均已成功构建。构建此项目时出现 TFS 构建错误,并出现以下错误:

xx.csproj 是 Web 应用程序项目,“xxx.xx.Global”是类后面的 Global.asax 代码。

从我的阅读看来,TFS Build 可能存在一些复制问题。我在这里阅读了一些关于 MVC 的回复。这不是 MVC 设置,但我相信这是一个类似的问题。我不确定任何复制代码应该去哪里。我尝试在我的 AfterBuild 目标中的 TFSBuild.proj 文件中放置一些建议的代码,但发现代码并没有改变这个错误。

上面的代码出现在被注释掉的项目文件中。我的想法是“BeforeMerge”目标可以让我复制那些需要的二进制文件。我不知道如何编写任何脚本来做到这一点。我查阅了几本 TFS 书籍,但都没有包含有关 Web 部署项目的信息。(令我懊恼的是,我似乎也无法从微软那里找到关于这个问题的太多信息)。

看到我只看到了引用 MVC 解决方案的解决方案,我应该说我已经研究过在 AfterBuild 目标中做一些事情。上面的构建脚本直接来自我在 TSBuild 脚本中尝试过的 deploy_csproj。尝试在任一位置复制二进制文件有区别吗?

谁能解释发生了什么?我是否必须为每个项目编写单独的构建脚本,以便他们将二进制文件复制到正确的目录以进行合并执行?

0 投票
1 回答
509 浏览

visual-studio - Web 部署项目、Web 应用程序项目和 Team Build 2008

我已经从网站项目切换到 WAP(Web 应用程序项目)。

WDP(Web 部署项目)用于设置并可能在将来进行其他 web.config 更改。

但是我注意到团队构建正在构建所有内容两次,一次代表解决方案文件,然后再次代表 WDP。知道如何阻止这种情况发生吗?

或者有没有办法完全替换 Web 部署项目?