Me encontré con este problema en VS 2013. Algo que no pude (¿no?) Aislar fue cambiar el GUID en el archivo CSPROJ. Como los archivos CSPROJ se registran en SVN, no pude simplemente cambiar el GUID en mi desarrollador local. En cambio, estaba constantemente SVN revertiendo el cambio local cada vez que sucedía.
Primero, tuve que resolver el problema cambiante de GUID.
- Revierta el CSPROJ a la versión registrada.
- Abra el CSPROJ a través de un editor de texto, NO VS.
Extraiga el valor del prístino archivo CSPROJ.
{B1234567-5123-4AAE-FE43-8465767788ED}
Abra el archivo SLN a través de un editor de texto, NO VS.
Localice la referencia del proyecto en la solución.
Project ("{FAE12345-3210-1357-B3EB-00CA4F396F7C}") = "Some.Project", ".... \ assemblies \ Some.Project \ Some.Project.csproj", "{B7654321-5321-4AAE- FE3D-ED20900088ED} "Proyecto final
El primer GUID de la lista es el GUID de la solución. Para cada proyecto referenciado en su SLN, debería ver este valor repetido en el primer argumento. El GUID que sigue al .csproj es el que desea reemplazar con el GUID prístino.
Esto debería resolver el primer problema, pero el aterrizaje "Ir a definición" en metadatos no está resuelto. En nuestro archivo SLN, hay un proyecto maestro (nuestro sitio web), por lo que su entrada en el archivo SLN debe contener una entrada ProjectSection con múltiples valores GUID. Aquí hay un ejemplo:
ProjectSection(ProjectDependencies) = postProject
{AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD} = {AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD}
EndProjectSection
Observe que el GUID que falta en esta colección es el de mi proyecto original.
- Agregue el GUID que falta como la última entrada entre ProjectSection y EndProjectSection. El formato parece ser por línea, y es {GUID} = {GUID}.
- Guarda el archivo.
- Abre tu solución.
- Haga clic con el botón derecho en una referencia en el proyecto recién agregado y en "Ir a definición".