我已经根据“单个服务器”手册(https://msdn.microsoft.com/en-us/Library/vs/alm/TFS/setup/single-server?f=255&MSPPError=-2147217396)安装了TFS 2015。
我配置了一个简单的构建,使用添加的单元测试项目构建了一个小型控制台应用程序,并进行了一个小单元测试。
现在,构建配置包含三个步骤。
NuGet安装程序
Visual Studio构建
Visual Studio测试
现在,每次调用第三步时,都会发生错误,浏览器中出现一个带有文本的红色框:
503: 503: error
TFS.WebApi.Exception: 503: error at k (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:375)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:2955
at d (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:635)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:2888
at l (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:8122)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:8348
at t.when (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:3780)
at t.u.promiseDispatch (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:2824)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:1649
at MessagePort.t (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:5773)
Session Id: c0c3ef7f-e1db-4bf8-976a-f820a0701334
是的,烦人的503:服务不可用错误...。
有什么办法可以摆脱这个错误?
我使用的是构建服务器的域帐户,它们未配置为过期,这些帐户位于管理员组中。等等
我想我已尽一切努力在互联网上了解此问题,但似乎没有任何效果。
在TFS2012安装上,我们也有同样的问题。
查看事件查看器(应用程序),每次在问题发生之前就有以下信息:
信息:TFS服务
申请处理开始
服务器版本= Microsoft.TeamFoundation.Framework.Server,版本= 14.0.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a
服务帐户= NT AUTHORITY \ NETWORK服务
机器名称= TEAMFS2015
应用程序域:/ LM / W3SVC / 2 / ROOT / tfs-1-131066466082045873
信息:TFS服务
由于以下原因,正在关闭该应用程序:HostingEnvironment
应用程序域:/ LM / W3SVC / 2 / ROOT / tfs-1-131066466082045873
信息:TraceLog Profiler
TraceLog Profiler组件关闭,进程w3wp.exe
信息:TraceLog Profiler
TraceLog Profiler组件关闭,进程te.processhost.managed.exe
错误:Perflib
DLL“ C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_perf.dll”中服务“ ASP.NET_64_2.0.50727”的打开过程失败。该服务的性能数据将不可用。数据部分的前四个字节(DWORD)包含错误代码。
错误:Perflib
DLL“ C:\ Windows \ System32 \ Secur32.dll”中服务“ Lsa”的打开过程失败。该服务的性能数据将不可用。数据部分的前四个字节(DWORD)包含错误代码。
错误:PerfNET
无法打开服务器服务性能对象。数据部分的前四个字节(DWORD)包含状态码。
更新资料
每次“停止”“ Microsoft Team Foundation Server应用程序池”。因此,问题可能与应用程序池有关。否则应用程序池将由于另一个错误而停止...。
更新资料
阅读jessehouwing的注释,事件查看器将显示结果:“应用程序和服务日志”>“ Microsoft-Team Foundation Server”>“调试”:
错误
总时间:19235.2866(延迟0ms)(持续时间19235.2866ms)(阈值10ms)(快速18)(截断0)
VssRequestContext.HostManagement.TaskAgentPoolHub.Connect:19223 VssRequestContext.HostManagement.TaskAgentPoolHub.Connect:-19235 HostManagement.AspNetRequestContext.EndRequest:19235
错误
总时间:19372.701(延迟0ms)(持续时间19372.701ms)(阈值10ms)(快速19)(截断0)
HostManagement.AspNetRequestContext.EndRequest:19372
错误
总时间:19235.1277(延迟0ms)(持续时间19235.1277ms)(阈值10ms)(快速19)(截断0)
HostManagement.AspNetRequestContext.EndRequest:19235
错误
总时间:19278.2777(延迟0ms)(持续时间19278.2777ms)(阈值10ms)(快速19)(截断0)
HostManagement.AspNetRequestContext.EndRequest:19278
5、6和7.信息
TFS ActivityLog条目
错误
Microsoft.TeamFoundation.Framework.Server.RequestCanceledException:TF400733:请求已被取消:客户端已断开连接。
在Microsoft.TeamFoundation.Framework.Server.VssRequestContext.CheckCanceled(Boolean throwIfShutdown)
在Microsoft.TeamFoundation.Framework.Server.VssRequestContext.get_ServiceProvider()
在Microsoft.TeamFoundation.Framework.Server.VssRequestContextExtensions.GetService [TService](IVssRequestContext上下文)
在Microsoft.TeamFoundation.Framework.Server.ActivityLoggingAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
在System.Web.Http.Filters.ActionFilterAttribute.OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancelledToken)
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
错误
Microsoft.TeamFoundation.Framework.Server.RequestCanceledException:TF400733:请求已被取消:客户端已断开连接。
在Microsoft.TeamFoundation.Framework.Server.VssRequestContext.CheckCanceled(Boolean throwIfShutdown)
在Microsoft.TeamFoundation.Framework.Server.VssRequestContext.get_ServiceProvider()
在Microsoft.TeamFoundation.Framework.Server.VssRequestContextExtensions.GetService [TService](IVssRequestContext上下文)
在Microsoft.TeamFoundation.Framework.Server.ActivityLoggingAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
在System.Web.Http.Filters.ActionFilterAttribute.OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancelledToken)
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
---从先前引发异常的位置开始的堆栈结束跟踪---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
查看日志记录的“详细信息”,我看不到有任何东西使问题原因重燃。在出现错误之前,有几个日志条目,例如:
TaskHubTimelineRecordLog.AppendLogContent,TaskHubTimelineRecordLog.CreateLog,TaskHubTimelineRecordFeeds.PostLines,TaskHubTimelineRecords.UpdateRecords。然后在“ UpdateRecords”之后,立即出现SignalR错误(这是后端和前端页面之间的通信,在此我开始构建。
最佳答案
Pffff,终于找到了问题。...对于特定的解决方案,我们使用UnitTest.runsettings文件(请参见https://msdn.microsoft.com/en-us/library/jj635153.aspx)来配置哪些程序集应从代码覆盖率报告中排除。
我已将“ Visual Studio测试”构建步骤配置为使用此文件。执行选项:“运行设置文件”。 runsettings文件与VS2012中此解决方案的文件相同(更新4)。
由于某些奇怪的原因,TFS2015(更新2)无法处理我们的运行设置文件。因此,通过删除上述设置,应用程序池将不再停止...。
仅举例来说,我在这里显示运行设置文件:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations that affect the Test Framework -->
<RunConfiguration>
<!-- Path relative to solution directory -->
<ResultsDirectory>.\TestResults</ResultsDirectory>
<!-- [x86] | x64
- You can also change it from menu Test, Test Settings, Default Processor Architecture -->
<TargetPlatform>x86</TargetPlatform>
<!-- Framework35 | [Framework40] | Framework45 -->
<TargetFrameworkVersion>Framework45</TargetFrameworkVersion>
<!-- [false] | true -->
<TreatTestAdapterErrorsAsWarnings>false</TreatTestAdapterErrorsAsWarnings>
</RunConfiguration>
<!-- Configurations for data collectors -->
<!-- For code coverage exclusions etc see: http://msdn.microsoft.com/en-us/library/jj159530.aspx.
Also: https://msdn.microsoft.com/en-us/library/jj159530.aspx -->
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage"
uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<!-- Match assembly file paths: -->
<ModulePaths>
<Exclude>
<ModulePath>.*CPPUnitTestFramework.*</ModulePath>
<ModulePath>.*fluentassertions.*</ModulePath>
<ModulePath>.*utils.test.dll</ModulePath>
</Exclude>
</ModulePaths>
<!-- Match the company name property in the assembly: -->
<CompanyNames>
<Exclude>
<CompanyName>.*microsoft.*</CompanyName>
</Exclude>
</CompanyNames>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
<!-- Adapter Specific sections -->
<!-- MSTest adapter -->
<MSTest>
<MapInconclusiveToFailed>true</MapInconclusiveToFailed>
<CaptureTraceOutput>false</CaptureTraceOutput>
<DeleteDeploymentDirectoryAfterTestRunIsComplete>true</DeleteDeploymentDirectoryAfterTestRunIsComplete>
<DeploymentEnabled>true</DeploymentEnabled>
</MSTest>
</RunSettings>
对我来说,这个文件没有什么问题,它在VS2015和VS2013中使用时应像应该的那样工作。
没有此文件,TFS2015将报告错误的代码覆盖率,因为它不会忽略第三方nuget程序包。因此,runsettings文件的代码覆盖率约为80%,但是TFS2015现在报告的代码覆盖率是31%...。
但是,这个问题似乎已经解决了。。或者我应该说,我在TFS2015中发现了一个错误:-)
关于tfs - TFS2015新安装,503服务不可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36977233/