这是我之前发布的一个问题的扩展,我在这里发布了这个问题:VB.Net Method appears to be called multiple times when it actually isn't, and returns inconsistent results
当时我认为这个问题已经完全解决了,但我已经知道存在多个问题。我已经用代码和逻辑解决了所有问题,现在我已经缩小了最后一个问题。
构建将完全正常运行,直到合法地失败。在此之后,即使后续构建中没有实际错误,该特定代理上的所有构建也将失败。当他们失败时,我会看到与我在其他主题中所做的完全相同的症状,我将在此总结:
构建服务器设置:
构建和部署自定义库是使用.Net Framework 4.5在VB中编写的,它还调用另一个使用.Net Framework 4.5编写的库。
构建模板不使用msbuild。它是严格的WF,已被剥离到最低限度,只调用命令行程序(如robocopy)或自定义.net类。
我已经验证过,如果某个代理(例如Dev)的构建失败,那么使用该代理的所有构建都将失败。当它发生时,仅在该特定代理上运行的构建将失败,其他代理运行正常。如果只是重新启动代理将“修复”它,或者我必须重新启动整个服务,我还没有机会测试。
我已经尝试为运行构建的用户帐户清除Visual Studio缓存,但这根本没有帮助。我还有一个GUI界面,我设计了与构建完全相同的东西,并使用了所有相同的代码,我无法让它重复这个行为。
我已经按照以下步骤在构建控制器上启用了日志:How to enable build agent or build controller’s logs?但是当发生此问题时它们没有帮助(没有记录错误,对于构建的日志没有任何不同那些漏洞了)
我不确定我的下一个故障排除步骤应该是什么,我知道问题不在于我的代码,而且我没有运气通过Google,MSDN,StackOverflow搜索互联网,或者挑选我的大脑其他组织的同行。
我想知道这是否可能是由于在TFS 2010版本中运行需要.Net Framework 4.5的代码而导致的错误,因为它只能正式支持最多4.0。
答案 0 :(得分:0)
我的建议是将构建记录器更改为诊断并查看输出,必须在环境中添加一些垃圾。
您可以使用
之类的开关执行此操作/l:FileLogger,Microsoft.Build.Engine;logfile=c:\build.log;Verbosity=Diagnostic
你可能想看看here