1-TFS 2010 – Cruz roja sobre la carpete Documents y Reports (red X over Reports and Documents)
Cierra el Visual Studio. Limpia la cache de TFS en tu máquina:
C:\Users\<UserName>\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache
C:\Users\<UserName>\Local Settings\Application Data\Microsoft\Team Foundation\3.0\Cache
También borra la cache de Team Web Access, la carpeta se encuentra en el web.config que está en la siguiente ubicación:
C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Access\Web
En el web.config aparece la key WorkItemTrackingCacheRoot
<appSettings>
<!-- Directory path where cache is stored. –>
<add key="WorkItemTrackingCacheRoot" value="C:\ProgramData\Microsoft\Team Foundation\Web Access\Cache_v10.0.30319"/>
<!--<add key="DetailedRequestTrace" value="true" />-->
</appSettings>
También se recomienda resetear los permisos tanto en el Reporting Services como en Sharepoint.
http://tfs:8080/tfs/web/ –> Project Portal –> Site Actions –> Site Settings –> People and Groups –> New –> Add Users
http://tfs/Reports –> Folder Settings –> Security –> New Role Assignment.
Otra posibilidad es que el nombre de los servers de TFS/Sharepoint/Reporting no esté como FQDN.
Ej:El TFS se encuentra publicado en miTFS.dominio.com, y tu configuraste Visual Studio con miTFS
Para solucionarlo, se puede usar el archivo host de tu máquina.
2-TFS 210 client tracing (Visual Studio 2010)
El tracing de lo que ocurre del lado del cliente al conectarse con TFS, puede ser útil para ver solucionar errores. Para activarlo haga lo siguiente:
- Cerrar Visual Studio 2010
- Abrir el directorio: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
- Hacer backup del archivo devenv.exe.config
- Editar el archivo agregando las siguientes líneas, antes de tag </configuration>
<appSettings> <add key="VersionControl.EnableSoapTracing" value="true" />
<add key="VersionControl.TraceDownloadContent" value="false" /> <add key="VersionControl.EnableCompression" value="true" />
</appSettings>
<system.diagnostics>
<switches>
<add name="TeamFoundationSoapProxy" value="4" />
<add name="VersionControl" value="4" />
</switches>
<trace autoflush="true" indentsize="3">
<listeners>
<add name="myListener"
type="Microsoft.TeamFoundation.TeamFoundationTextWriterTraceListener,Microsoft.TeamFoundation.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
initializeData="c:\Logs\tfs.log" />
<add name="perfListener" type="Microsoft.TeamFoundation.Client.PerfTraceListener,Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</listeners>
</trace>
</system.diagnostics>
- Los datos se guardaran en el path c:\Logs\tfs.log
- Inicia Visual Studio, y empezará a hacer tracing de lo que pasa entre VS y TFS.
2-TFS 2010 Server tracing
Los logs de la consola de TFS se encuentran en C:\ProgramData\Microsoft\Team Foundation\Server Configuration\Logs
TFS Application Tier Trace Logging
Ir hasta C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\
Abrir el web.config, y agregar las siguientes líneas:
<appSettings>
<add key="traceWriter" value="true" />
<add key="traceDirectoryName" value="c:\Logs\" />
</appSettings>
Recuerda que el usuario de app pool de TFS, debe tener permisos para escribir en el archivo de logs. Para editar el tipo de trace level, hay que editar una clave de registro. También se puede hacer desde la línea de comando: reg.exe add HKLM\SOFTWARE\Microsoft\TeamFoundationServer\10.0\Admin /t REG_DWORD /v TraceLevel /d 4 /f
0 – Off, 1 – Error, 2 – Warning, 3 – Information, 4 – Verbose
Hay otra posibilidad para habilitar el verbosity para 2010 y es a través de un web services:
http://<tfsserver>:<port>/tfs/tftrace.ashx?[traceWriter=<true|false>][&][All=<traceLevel>]
Ej: http://<tfs_server>:8080/<WebServices>/tftrace.ashx?traceWriter=true&All=Verbose
Para deshabilitar los traces, ejecute lo siguiente:
http://<tfs_server>:8080/<WebServices>/tftrace.aspx?traceWriter=false&All=Verbose
<WebServices> puede reemplazarse por: Build, services, VersionControl, Warehouse, y WorkItemTracking
Ej: para VersionControl
http://localhost:8080/VersionControl/tftrace.aspx?traceWriter=true&All=Verbose
Recuerde, que la opción del handle vía web services NO es persistente, ya que cuando se haga un recycle o un iisreset, la configuración se pierde. Para ello se debe usar la opción de la clave de registro o el web.config (C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\)
<system.diagnostics>
<assert assertuienabled="true" />
<trace autoflush="false" indentsize="4" />
<!-- Trace Switches
Each of the trace switches should be set to a value between 0 and 4, inclusive.
0: No trace output
1-4: Increasing levels of trace output; see Systems.Diagnostics.TraceLevel
-->
<switches>
<add name="API" value="4" />
<add name="Authentication" value="0" />
<add name="Authorization" value="0" />
<add name="Database" value="0" />
<add name="General" value="0" />
<!-- WorkItem trace switches -->
<add name="traceLevel" value="4" />
</switches>
</system.diagnostics>
Recuerde que puede utilizar http://localhost:8080/tfs/trace.axd para ver el trace de la ejecución.
Puedes usar DebugView http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx para revisar los logs. Recuerda habilitar Capture Win 32, Pass-Through y Capture Events
3-Configuración del delay de Notification en TFS 2010
Por default, TFS genera un delay de 2 minutos antes de enviar las alertas o notificaciones.
Para modificarlo, ejecute lo siguiente en una consola de PowerShell:
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
# Modifica la url de tu TFS
$configServer = new-object Microsoft.TeamFoundation.Client.TfsConfigurationServer "http://localhost:8080/tfs/"
# Obtiene el servicio de registry de TFS
$tfsRegService = $configServer.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry])
# Seteo un delay de 30 seg.
$tfsRegService.SetValue("/Service/Integration/Settings/NotificationJobDelay", 30)
Otra posibilidad es usar la tool http://www.teamsystempro.com/downloads/TfsReg.zip
tfsreg.exe /server:https://yourtfs:8080/tfs/path:/Service/Integration/Settings/NotificationJobDelay /value:30
Recuerda hacer un recycle del app pool de TFS.