2012-03-13 31 views
7

Tengo un proyecto donde utilizo las rutas de referencia para almacenar las dlls necesarias.
Mi problema es que cuando los compré en mi servidor TFS y después de que mi colega obtuvo la última versión del servidor TFS, no pudo ver las rutas de referencia en la página de propiedades en los archivos del proyecto.Visual Studio 2010 Rutas de referencia y TFS

¿Qué hice mal?

+0

Si sus referencias están configuradas en 'Versión específica = Verdadero ', intente cambiarlas a' False' y luego deberían ver que las referencias se cargan correctamente en la siguiente carga de la solución. Los desarrolladores a menudo tienen versiones ligeramente diferentes de marcos de terceros instalados. – Seph

Respuesta

0

Las rutas de referencia se guardan en el archivo * .csproj.user, que es un archivo por usuario que contiene la configuración del proyecto. Para que su colega pueda construir el proyecto después de obtener lo último del control de fuente, necesitaría agregar manualmente la ruta de referencia al proyecto.

8

Ensamblaje reference paths son que no forman parte del archivo de proyecto. Visual Studio los guarda en un archivo de configuración de usuario específico (* .csproj. usuario o * .vbproj. usuario), que shouldn't be added to source control.

Si desea share assembly reference paths with the rest of the team puede añadirlos manualmente a un archivo de proyecto con el elemento <AssemblySearchPaths>:

<PropertyGroup> 
    <AssemblySearchPaths> 
     ..\..\MyReferences\; 
    </AssemblySearchPaths> 
</PropertyGroup> 
+0

¡Genial! ¡Gracias! – MirlvsMaximvs

0

he encontrado una mejor y para mí solutin de trabajo, añadiendo un <Target> con el nombre BeforeResolveReferences, que establece el "AssemblySearchPaths" propiedad, añadiendo mi carpeta CommonLibs como primera vía para buscar asambleas:

<Target Name="BeforeResolveReferences"> 
    <CreateProperty Value="..\CommonLibs\;$(AssemblySearchPaths)"> 
     <Output TaskParameter="Value" PropertyName="AssemblySearchPaths" /> 
    </CreateProperty> 
</Target> 

el para ser inclu Los ensamblados ded están todos en la carpeta con el nombre "CommonLibs" en el mismo nivel que la (s) carpeta (s) de solución.

Adición <AssemblySearchPaths> como se mencionó en la respuesta anterior hizo tristemente no funciona para mí:

Aunque las DLL que se hace referencia en el nuevo camino se podían encontrar por el compilador, las Asambleas System.* normales no se pueden encontrar más.

En Visual Studio 2010, el <AssemblySearchPaths> en los archivos del proyecto puede que ya no sea una opción válida, ya que el editor advierte, que este elemento no es válido.

Cuestiones relacionadas