2011-11-05 15 views
11

Tenemos una serie de proyectos, y cada uno vive en una estructura de carpetas. Cuando un conjunto de proyectos necesita hacer referencia a un proyecto en una carpeta diferente, la referencia puede fallar porque la ruta relativa a está en VS es demasiado larga.Visual Studio y la longitud máxima de la ruta de una referencia de proyecto

Por ejemplo, el proyecto 1 será en:

C: \ Foldera \ carpeta1 \ carpeta2 ... \ folderN \ myProject1.csproj

Se hace referencia a otro proyecto:

C: \ folderB \ folder1 \ folder2 ... \ folderN \ myProject2.csproj

La HintPath a la referencia se almacena como una ruta relativa, como en ............ \ folderB \ folder1 \ folder2 ... \ folderN \ myProject2.csproj

Cuando VS carga la solución, no puede resolver la referencia porque la ruta absoluta que construye incluye numerosos ../ de forma tal que la ruta supera los 256 caracteres. Y la construcción falla.

Lo solucionamos editando el csproj y poniendo en una ruta absoluta, que es simplemente una tontería.

¿Cuál es la mejor solución para esto?

+3

¿Por qué el voto a la baja? Esta es una pregunta legítima. –

Respuesta

2

Respuesta corta: no haga eso y no le hará daño. Considere jerarquías menos profundas y haga proyectos relacionados para vivir cerca.

MSBuild se gestiona la aplicación y CLR tienen restricción en ruta/archivo de la longitud del nombre de unos 256 caracteres ...

+0

Sí, reducir la profundidad de las carpetas ayudará. Voy a probar esto. Almacenamos todos los artefactos del proyecto en SVN, lo que significa que el software real ha bajado aproximadamente 4 niveles antes incluso de que tengamos un archivo * .sln. Pero, en general, esto requeriría cambios en muchos proyectos. –

Cuestiones relacionadas