lunes, 29 de marzo de 2010

TFS2008. Error en la creación de un Proyecto. Reporting Services.

En el post justo debajo de este me lamento de un error al crear un nuevo Proyecto de grupo desde el TFS2008 y que, supongo que sería así, podía provenir de tocar las cuentas de servicios… pero tengo la sensación de haberme equivocado y en vez de la solución simple que acabo de encontrar, haberme liado y haber dado mil vueltas para no llegar a ningún lado.

Viendo que con un usuario de dominio si que funcionaba correctamente la creación de un nuevo proyecto en el Reporting Services (pero se bloqueaba por falta de permisos en el Sharepoint) y que desde el TFS en la máquina vía acceso remoto el usuario TFSSetup me seguía provocando un error en el servidor de reportes, seguí buscando en San Goole y encontré la respuesta que, esta vez si, era la correcta:

Reinstalar el SP1 del Visual Studio 2008

Y tiene lógica porque el inicio de los problemas vino cuando no conseguía cambiar los directorios locales del mapeo de una nueva máquina metida en un proyecto del TFS y, listo de mí, reinstalé el SP1 del TFS2008… y por lo visto me cargue el SP1 del VS2008!!

Un vez reinstalado el SP1 del TFS y reinstalado el SP1 del VS2008, todo ha funcionado y ya tengo mi nuevo Team Project.

P.D. Según el blog (el cual me perdone por no hacerle referencia pero tuve que cerrar la pestaña y ahora no lo encuentro) el problema viene de que el SP1 del VS2008 se debe instalar después de la instalación del Team Explorer.

Cuando una “manazas” toca donde no es. Reporting Services Failure.

Bueno, hoy he estado sembrado. Me he cargado de un plumazo el Reporting Service del TFS. Y me he dado cuenta cuando voy a hacer una nuevo Proyecto de equipo y el TFS me da un lindo error donde me indica que mi el plugin para dar de alta un nuevo proyecto está fallando y que dice algo como: “TF30207: Initialization for plugin "Microsoft.ProjectCreationWizard.Reporting" failed”

Empiezo a rebuscar por Google y hago todo lo que me parece lógico hasta que caigo en el pequeño “detalle” que el Viernes, de prisa y corriendo, cambie en el administrador de servicios el usuario que arrancaba el servicio del reporting service:

image 
Caca, esto no se toca…

Y la lié parda. El Reporting Service, cuando crear su usuario, construye una key de encriptación/desencriptación y, lógicamente, ya no era capaz de conectarse con los reportes ni con la base de datos.

Osea que tenia un precioso error de Symmetric Key que, para solucionarlo de forma visual, lo mejor es reconfigurar el Reporting

image

Voví a poner la cuenta por defecto del TFS TFSReports y me lié a seguir los pasos hasta que conseguí tener casi todo verde. Lo único que es un poquito inesperado es lo de la Iniciación que me daba un error, y que la forma de arreglarlo es borrando la instancia (si, delete que no pasa na’ y se actualiza el id) y volviéndola a inicializar.

image

Pero ahora el error está en las cadenas de conexión compartidas del Reporting (“rsInvalidDataSourceReference“) las cuales la forma más fácil de arreglar es con el “arreglador” del propio TFS:

image

Te pide la cuenta de servicio para el reporting (la misma que me cargué) TFSReports y se lía a hacer cosas por dentro.

Una vez terminado, ale hop, todo vuelve a la normalidad y volvemos a tener nuestros bonitos diagramas.

miércoles, 24 de marzo de 2010

Error por un propiedad null

Error molesto y fastidioso cuando al cargar una página nos da un error de que la propiedad es null y que no está inicializada.
Dando una vuelta por San Google, mi compañero Borja ha encontrado esta pequeña línea de código para situar en el Get de la propiedad,  que debe de eliminar este tipo de errores
/// <summary>
/// Persistencia del id del Proyecto
/// </summary>
public int idProyecto
{
get { return (Session["idProyecto"] == null ? 0 : (int)Session["idProyecto"]); }
set { Session["idProyecto"] = value; }
}


Que lo disfrutéis.
 
Actualización: versión más compleja para casos más específicos en este post. 

Mapear Workspace en TFS2008

Integrando un nuevo miembro del equipo y conectándolo al TFS del proyecto, me llevó la desagradable sorpresa de que en la ventana del Explorador del Control de Código Fuente no me aparece las opciones para quitar o añadir un mapeo en la máquina local.

image

Dándole mil vueltas y no encontrando el permiso que me impide realizarlo en dos máquinas, pero si en otras dos. Entro a las soluciones desesperadas que es modificar a mano el Área de trabajo (Workspaces). En donde tengo el listado de todas las carpetas en el repositorio y su ubicación en el equipo local.

image

image

image

No es el método más limpio pero al menos me ha permitido mapear correctamente los archivos.

lunes, 22 de marzo de 2010

Capturar error en toda la aplicación

Casi un mes sin escribir realizando un proyecto puro ASM (A Salto de Mata. ©Rodrigo del Corral) con 14 horas diarias, incluido los últimos cinco fines de semana. Pero con un resultado final bastante aceptable.

Para evitar el típico pantallazo amarillo de un error .NET, y que no me redireccione a una página de error, hemos añadido un fichero global.axa a la solución. E introducido el siguiente código.

void Application_Error(object sender, EventArgs e)
{
Context.Server.ClearError();
Response.Redirect(Request.RawUrl);
}

P.D. No utilizarlo en desarrollo porque no da señal alguna de error… :)