我已经根据“单个服务器”手册(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/

10-13 07:56
查看更多