El archivo del proyecto se ha cambiado de nombre o no está en su computadora

150

Recibo este error cuando intento cargar un proyecto VS 2008 desde el control de fuente TFS:

El archivo del proyecto ha sido movido, renombrado o no está en su computadora

Después de hacer clic en Aceptar, el proyecto dice "no disponible". ¿Cuál es el problema? ¿Cómo resuelvo esto? Nunca he tenido este problema antes. Algunos blogs dicen que elimine el archivo .suo pero no puedo localizar el archivo .suo. Eliminé todo el proyecto en mi computadora local para que la próxima vez que se abra cree uno nuevo, pero aún recibo el mismo error.

sineas
fuente
28
¡Oh, cómo odio a TFS por darme estos dolores de cabeza!
John Leidegren
2
Baja, encontrarás la respuesta correcta aquí.
Claudio

Respuestas:

270

Lo que generalmente ayuda a solucionarlo es eliminar las Opciones de usuario de la solución, también conocidas como "SUO".

VS hasta 2013

En el VS anterior se almacena como "oculto" SolutionName.suoen la misma carpeta que el .slnarchivo principal .

VS2015 o posterior

En VS2015, los mismos datos se movieron a una .vscarpeta "oculta" debajo de la misma carpeta que el .slnarchivo principal .

Stanley.Goldman
fuente
66
+1. Mensaje de error muy desafortunado: es más probable que surja cuando ha movido los archivos de la forma "correcta" de acuerdo con su proveedor de SCC. (por ejemplo, usando 'tf rename' para TFS) Mover el proyecto en el disco sin decirle a TFS, u olvidar actualizar un archivo sln / csproj, dará como resultado diferentes mensajes de error en mi experiencia. Los archivos SUO son opacos, por lo que te dejarás rascándote la cabeza hasta que hagas un tfpt treeclean / scorch.
Richard Berg
8
Me salvó el día;)
Kamil Lach
44
No olvide reiniciar Visual Studio después de eliminar el archivo
.suo
8
Oh. Así que ahora el archivo .suo está oculto. ¿Por qué? Oh, ya se porque. Somos desarrolladores y obviamente no somos capaces de manejar la complejidad añadida al ver el archivo .suo al aire libre ;-)
Torben Rahbek Koch
29
Esto también funciona en Visual Studio 2015, aunque la ruta al archivo .suo ha cambiado a <SolutionFolder> \ .vs \ <SolutionName> \ v14 \ .suo.
Greg M.
38

Me encontré con este problema usando VS 2013 después de cambiar el nombre de un proyecto. La respuesta de Stanley me guió a la solución:

Cierre VS - elimine el archivo .suo - inicie VS nuevamente.

AndreasV
fuente
1
Podría estar equivocado, pero creo que ni siquiera vi el archivo .SUO, hasta que cerré VisualStudio.
Michael R
55
Solo quiero agregar: es imperativo que cierre VS antes de eliminarlo. Eliminar el archivo mientras VS todavía está abierto, luego cerrar y volver a abrir NO tiene ningún efecto. Debe cerrar primero!
wizloc
23

Elimine el archivo .suo de una manera especial.

  1. No tenga la solución abierta cuando elimine el archivo .suo oculto.
  2. Reinicie VisualStudio.
  3. Abra la solución y agregue el proyecto sin mensaje de error.
Mikhael Loo
fuente
Trabajó para mí Visual Studio 2019. Solo que .vs
eliminaste la
11

TFS funciona como la mayoría de los paquetes de control de código fuente: recuerda lo que ha puesto en su computadora para que cuando "obtenga la última versión" solo tenga que obtener los cambios desde su última "obtención" en lugar de tener que obtener absolutamente todo.

Esto tiene una advertencia: si elimina o cambia el nombre de los archivos locales en su disco, TFS no sabrá que ha hecho esto, y seguirá pensando que están donde los dejó.

Si luego "Obtener más reciente" no se molestará en actualizar los archivos que faltan.

Entonces es probable que obtenga todo tipo de errores de "archivo faltante", de TFS y cualquier otra herramienta que busque los archivos.

Para evitarlo, debes:

  • Si cree que podría haber cambios allí que no desea perder, copie la carpeta de origen en su PC como copia de seguridad por si acaso.
  • Haga clic derecho en el proyecto (en el Explorador de soluciones) o en la carpeta (en Control de código fuente)
  • Elija "Obtener versión específica" en el menú contextual
  • Elija obtener la "Última versión" y marque la opción que dice (algo así como) "forzar la obtención de archivos que ya están en su espacio de trabajo", lo que le dice a TFS que se olvide de lo que "sabe" y obtenga todos los archivos nuevamente.

Si tiene archivos modificados localmente (editables), tenga cuidado. Hay una segunda opción que los sobrescribirá y perderá los cambios. Pero tiene la copia de seguridad, por lo que debe estar seguro. Por lo general, es mejor marcar esta opción también para asegurarse de que todo su código fuente esté completamente actualizado. (¡Pero obviamente solo si no te importa perder los cambios locales!)

Cuando esté de acuerdo, esto llevará a la fuerza todos los archivos del proyecto a su unidad local y debería corregir el problema.

Jason Williams
fuente
"obtuve una versión específica" y marqué "sobrescribir todos los archivos, incluso si el servidor de coincidencia local". sin errores, pero no entró nada. Revisé desde otra computadora y el proyecto está en TFS y la otra persona puede funcionar bien en él.
sineas
Por cierto, mi carpeta de origen local está completamente VACÍA. No hay nada en eso. Inicialmente eliminé todos los archivos para poder obtener todos los nuevos. como abrir un nuevo proyecto.
sineas
1
En ese caso, lo siguiente que comprobaría sería su mapeo del espacio de trabajo. En Team Explorer, haga doble clic en el icono de Control de fuente y en la parte superior de la ventana que aparece hay un cuadro combinado desplegable. Suelta esto y elige "agregar / editar espacios de trabajo". Edite su espacio de trabajo y verifique que el proyecto TFS que contiene su código tenga una carpeta correspondiente en su disco duro local. Y asegúrese de mirar esta carpeta cuando intente cargar la solución. (Sugerencia: compare su configuración con la de otros desarrolladores que trabajan para tratar de localizar la fuente del problema)
Jason Williams
9

Aunque es bien conocido el defecto VS, ¡definitivamente podemos manejarlo!

  • Abra el archivo de solución en modo edición

  • Modifique la ruta relativa para que coincida con la ruta física modificada / movida.

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • Además, aseguramiento de la ruta relativa correcta para los proyectos de referencia

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
            "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    
talabathula sandeep
fuente
6

Intente abrir .csproj o .vbproj en lugar de .sln. Lo que probablemente ha sucedido es que el archivo .sln (solución) tiene una referencia de archivo absoluta (en lugar de una ruta relativa) a los proyectos componentes. Es posible que deba volver a crear el .sln o editarlo manualmente.

Río Lilith
fuente
Traté de abrir el archivo .vbproj y esto es lo que obtengo. "El archivo seleccionado no se puede abrir como solución o proyecto. Seleccione un archivo de solución o un archivo de proyecto", también indique cómo recrear el archivo .sln. Soy nuevo en esto. gracias
sineas
¡Gracias! Abrió los archivos csproj, al salir solicitó crear / guardar un nuevo archivo .sln y sobrescribió el anterior.
Rafael
5

La opción más fácil para mí es:

  1. Haga clic derecho en el proyecto y elimine el proyecto "no cargado" o "no disponible"
  2. Haga clic derecho en la solución y agregue "Proyecto existente"
Arun Vinoth
fuente
He intentado esto pero sigue siendo el mismo error, no puedo soportar este estúpido error (realmente un error, no puedo aceptar este tipo de error desagradable, extremadamente confuso).
Desesperado
1
Simple y directo ... lo tengo.
Sarath Mohandas
3

En mi caso, eliminar el archivo .suo fue insuficiente. Descubrí que la configuración de mi espacio de trabajo tenía un error. Descubrí y resolví el problema con estos pasos:

  1. En Team Explorer, "Administrar espacios de trabajo ..."

    ingrese la descripción de la imagen aquí

  2. Haga clic en "Editar ..."

    ingrese la descripción de la imagen aquí

  3. Corrija el valor en "Carpeta local"

    ingrese la descripción de la imagen aquí

  4. Finalmente, elimine los archivos .suo afectados según la respuesta aceptada.

Chris Schiffhauer
fuente
2

Me resultó más fácil crear un nuevo archivo sln de Solution.

David
fuente
1

Borre las asignaciones de su espacio de trabajo (Archivo -> Control de origen -> Espacios de trabajo). Edite el espacio de trabajo y borre todas las asignaciones (más repercusión) o encuentre la que está asociada a esta ruta del servidor. Luego abra Source Control Explorer y vuelva a asignar. Haga doble clic en el SLN en el explorador de control de código fuente y debería obtener la última versión. No estoy completamente seguro de lo que sucedió o en qué estado se las arregló para entrar, pero con esto debería volver a moverse.

Ryan Cromwell
fuente
1

Me encontré con este problema y pude resolverlo al obtener los .rptprojarchivos de un compañero de trabajo y copiarlos en mi directorio local. El proyecto pudo volver a cargarse.

Sayward
fuente
1

Pasé mucho tiempo tratando de resolver este problema. Hice estos pasos: renombrar proyecto, renombrar espacios de nombres, renombrar carpeta de proyecto, editar archivo .sln, editar archivo .suo oculto. ¡Proyecto cargado pero era irreconocible para TFS! Finalmente encontre esta guia .

Si está utilizando Resharper y TFVC es su control de versión, siga estos pasos:

  • Haga clic con el botón derecho en el proyecto en el Explorador de soluciones, seleccione Cambiar nombre e ingrese el nuevo nombre

  • Haga clic derecho en el proyecto nuevamente y seleccione Propiedades. Cambie el "Nombre de ensamblado" y el "Espacio de nombres predeterminado" en la pestaña Aplicación.

  • Haga clic derecho en el proyecto nuevamente y seleccione Refactorizar -> Ajustar espacios de nombres. Acepta los cambios.

  • Cambiar el AssemblyTitle y AssemblyProduct en Properties / AssemblyInfo.cs

  • Eliminar directorios bin y obj en el Explorador de Windows

  • Abra el Explorador de control de código fuente y cambie el nombre del directorio del proyecto. Esto cerrará la solución. Deja que se cierre.

  • Abra el archivo SLN (con un editor de texto como Notepad ++) y cambie la ruta al proyecto (debe haber varios lugares).

  • Abra la solución nuevamente. Limpia y reconstruye el proyecto.

abdominales
fuente
0

Haga clic con el botón derecho en el proyecto no disponible y edite el archivo del proyecto ... lo más probable es que encuentre una ruta de archivo codificada o una virtual que no coincida con el lugar donde desprotegió el proyecto.

Amabilidad,

Dan

Daniel Elliott
fuente
2
no tiene la opción Editar. Su único proyecto de recarga, cortar y eliminar.
sineas
0

Solución para esto

  1. Nuevamente cambie el nombre de la carpeta del proyecto
  2. Establecer versión específica y forzar get en TFS
  3. eliminar la opción de solo lectura y oculta en la última carpeta (no la de renombrar)
  4. Ahora puedes abrir el proyecto sin problemas
Saman Jayatilake
fuente
0

En ocasiones, aunque haya cambiado la ruta .slny la .csprojruta, y cambie el nombre manualmente, puede olvidar verificar el nombre de la carpeta que contiene el proyecto.

SMPH
fuente