2010-05-07 33 views
13

¿Alguien ha tenido este error al intentar crear una solución en Visual Studio 2008?El archivo de proyecto '' ha cambiado de nombre o ya no está en la solución

¡Me está volviendo loco! Eliminé todos los proyectos que contenían y los volví a agregar, y aún no me permite crear o ejecutar la solución.

¿Alguna sugerencia?

+0

¿Está tratando de construir un nuevo proyecto o uno existente? ¿Puede dar más detalles? – Malcolm

+0

Solución existente, acaba de eliminar un par de proyectos que ya no existen y VS se volvió un poco mental. –

+1

¿No puede Microsoft hacer algo mejor? Al igual que, ¿qué tal dar alguna indicación de qué proyecto está roto? He perdido innumerables horas debido a errores de Visual Studio (y C++) o mal comportamiento. –

Respuesta

8

Si abre el archivo de solución (SolutionName.sln) en un editor de texto que debe un par de líneas algo así como estos para cada proyecto:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F89EFBC}") = "ProjectName", "ProjectName\ProjectName.csproj", "{6B887D8C-D874-4AB2-B2CC-3551DEA2CC83}" 
EndProject 

Puede haber más cosas entre esas líneas, o en este caso, pueden corromperse de alguna manera. Si puede aislar la entrada del problema y eliminarla, es posible que pueda resucitar la solución.

+1

Solo hay dos proyectos nombrados que esperaba, y alguna información global, ningún proyecto adicional sin nombre ... –

+0

Si crea una nueva solución y agrega los proyectos existentes a eso, ¿funciona? –

+0

No tengo idea, ¿cómo se hace un nuevo SLN desde cero sin comenzar con un proyecto? –

5

La solución aceptada aquí no nos solucionó. El archivo .sln tenía la ruta correcta al proyecto. En cambio, resulta que alguien había insertado el archivo .sln.cache en git y tenía una ruta incorrecta al proyecto. Eliminamos el archivo .sln.cache de la computadora y la compilación funcionó bien. Para evitarlo en el futuro, eliminamos el archivo .sln.cache de git y agregamos * .sln.cache al archivo .gitignore.

8

Pasé un par de horas ayer con este error y afortunadamente llegué al fondo del asunto.

Teníamos un archivo de proyecto, vamos a llamarlo ProblemProj.vcxproj que se incluyó originalmente en SolutionA.sln y se compiló muy bien. El proyecto luego se agregó a una solución diferente, SolutionB.sln, y se compiló muy bien en esa solución. Sin embargo, después de volver a SolutionA, el "archivo de proyecto" se ha cambiado de nombre "comenzó a producirse un error.

Esto sucedió porque VS2010 decidió cambiar el ProjectGUID de ProblemProj.vcxproj. SolutionB.sln hacía referencia al GUID correcto, pero SolutionA.sln todavía tenía una referencia al GUID anterior.

Se puede encontrar en el archivo .sln buscando algo como esto:

< ProjectGuid> {271F161A-F26F-41D1-BDC8-FCF912A2F4FB} </ProjectGuid>

El problema se puede solucionar en de las siguientes maneras:

1) Edite manualmente el GUID dentro de SolutionA.sln abriéndolo en un editor de texto y buscando el marcado anterior.

2) Elimine el proyecto de SolutionA.sln y vuélvalo a agregar; esto hizo que recogiera el GUID correcto y afortunadamente no decidió cambiarlo nuevamente.

3) Revertir el cambio de GUID en ProblemProj.vcxproj (que a continuación, provocará el mismo error en SolutionB, así que no lo recomendaría a menos que SolutionB ya no le importe).

Espero que esto ayude.

1

Vaya a sus referencias de proyectos y verifique si uno de esos proyectos referenciados tiene una etiqueta (no disponible).

Elimina esta referencia y agrégala nuevamente.

Me ocurrió a mí, y así es como encontré la solución para solucionar este problema.

+0

Gracias ... su pista ha resuelto mi problema. En este caso, el proyecto hacía referencia a otro proyecto que no estaba en la solución. idealizado al mirar las referencias del proyecto. – jstuardo

2

Acabo de encontrar el mismo error en VS 2012 con una causa ligeramente diferente, después de cargar una solución que VS parecía feliz con.

Resulta que un único proyecto de C++ en la solución tenía una referencia a un proyecto sin nombre (solo un Guid, sin nombre, sin ruta). Aunque siempre se cargó este proyecto, fue imposible construir, limpiar o mostrar referencias para CUALQUIERA de los proyectos en la solución. Descubrí qué proyecto tenía la mala referencia al descargar proyectos de la solución hasta que dejó de quejarse.

+0

Puedo confirmarlo, la solución propuesta me funcionó. – Stefan

0

Nuke the SDF. Traté de verificar todos los GUID y referencias sin éxito. Eliminé el archivo SDF de la solución y se aclaró. (El SDF es un archivo de base de datos generado automáticamente.)

Cuestiones relacionadas