lunes, 29 de septiembre de 2008 21:32
elbruno
[TFS] Info: Existe una discrepancia entre el control de código fuente de la Solución y los archivos de Proyecto.

Buenas,
si migras código desde VSS a TFS, o cambias la asociación de algún proyecto entre servidores Team Foundation Server 2008, es muy probable que te encuentres con el siguiente error:
There appears to be a discrepancy between the solution's source control information about some project(s) and the information in the project file(s).
Este error por lo general viene dado por errores en la configuración de uno o más proyectos dentro de una solución.
La solución consiste en desde el menu File // Source Control // Change Source Control realizar un UnBind y luego un Bind del proyecto al servidor correspondiente. Sin embargo, cuando esta solución no surge efecto tenemos acceso al plan B.
Aclaración: el plan B no está soportado oficialmente por la gente de Seattle, pero si a alguien lo saca de un apuro considérese en deuda conmigo, una deuda barata, sólo una caña.
Estos son los pasos para eliminar la información manualmente:
1. Editar el proyecto, para esto desplegar el menú contextual y seleccionar la opcion Edit Project File. (para esto son necesarias las Power Commands de Visual Studio 2008, nos permiten ahorrarnos un click)
2. Revisar si dentro del archivo de proyecto los valores de los nodos <SccProjectName>, <SccLocalPath>, <SccAuxPath> y <SccProvider>. Por ejemplo, en el siguiente archivo de proyecto, el mismo ha arrastrado un poco de información basura desde Source Safe:
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>9.0.30729</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{138F05E7-0B40-4607-A668-7EFE1573E3FB}</ProjectGuid>
9 <OutputType>Library</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>TfsBuildEventProcessor</RootNamespace>
12 <AssemblyName>TfsBuildEventProcessor</AssemblyName>
13 <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
14 <FileAlignment>512</FileAlignment>
15 <SccProjectName>%24/Root/Services/MyService</SccProjectName>
16 <SccLocalPath>..</SccLocalPath>
17 <SccAuxPath>http://TFSRTM08:8080</SccAuxPath>
18 <SccProvider>{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}</SccProvider>
19 </PropertyGroup>
20 ...
21 </Project>
3. En este punto existen 2 alternativas para solucionar el problema, cambiar el valor de los los nodos <SccProjectName>, <SccLocalPath>, <SccAuxPath> y <SccProvider> por SAK; o eliminar los mismos; y nuevamente realizar una tarea de UnBind y Bind.
4. Una vez reconectado el proyecto nuevamente al Source Control correspondiente, la definición del proyecto debe quedar como el siguiente ejemplo:
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>9.0.30729</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{138F05E7-0B40-4607-A668-7EFE1573E3FB}</ProjectGuid>
9 <OutputType>Library</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>TfsBuildEventProcessor</RootNamespace>
12 <AssemblyName>TfsBuildEventProcessor</AssemblyName>
13 <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
14 <FileAlignment>512</FileAlignment>
15 <SccProjectName>SAK</SccProjectName>
16 <SccLocalPath>SAK</SccLocalPath>
17 <SccAuxPath>SAK</SccAuxPath>
18 <SccProvider>SAK</SccProvider>
19 </PropertyGroup>
20 ...
21 </Project>
Saludos @ Home
El Bruno
Crossposting from
El Bruno