Al agregar una referencia a un ensamblaje ubicado dentro del directorio de la solución, ¿hay alguna forma de agregarlo relativamente, de modo que cuando se ingrese y salga de un repositorio se haga referencia en los proyectos correctamente?Visual Studio: Ensamblado Relativo Referencias Trayectos
Respuesta
Para ampliar el comentario original de Pavel Minaev: la GUI para Visual Studio admite referencias relativas con la suposición de que su .sln es la raíz de la referencia relativa. Por lo tanto, si tiene una solución C:\myProj\myProj.sln
, las referencias que agregue en las subcarpetas de C:\myProj\
se agregan automáticamente como referencias relativas.
Para añadir una referencia relativa en un directorio independiente, como C:/myReferences/myDLL.dll
, haga lo siguiente:
- agregar la referencia en Studio interfaz gráfica de usuario de Visual haciendo clic derecho en el proyecto en el Explorador de soluciones y seleccionando Agregar referencia. ..
- Encuentra la .csproj * donde existe esta referencia y abrirlo en un editor de texto
Editar la < HintPath> a ser igual a
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Hace referencia a estos C:\myReferences\myDLL.dll
ahora.
Espero que esto ayude.
Entiendo que esto es útil y correcto, pero ¿la GUI de VS * en serio * no proporciona una forma de agregar una referencia relativa? – kdbanman
En VS 2015 obtuve este comportamiento por defecto (ruta relativa) – Mugen
Estaba convencido de que había agregado una ruta absoluta, hasta que seguí sus instrucciones por curiosidad. VS mostró una ruta absoluta en las propiedades de referencia, pero
Sí, solo cree un directorio en su solución como lib /, y luego agregue su dll a ese directorio en el sistema de archivos y agréguelo al proyecto (Agregar-> Objeto existente-> etc.). A continuación, agregue la referencia según su proyecto.
He hecho esto varias veces bajo svn y bajo cvs.
No necesita agregar el dll al proyecto en sí mismo, simplemente agregue referencia al mismo. Lo mejor que puede hacer es agregar todo el directorio 'lib' a su control de origen. Consulte http://code.google.com/p/projectpilot/source/browse/#svn/trunk como un ejemplo –
Tiene razón. Revisé un proyecto anterior y ni el directorio ni los dlls se agregaron al proyecto en sí, solo al repositorio. Y la referencia es entonces relativa al proyecto. Lo siento por eso. – Freddy
Probablemente, la manera más fácil de lograr esto es simplemente agregar la referencia al ensamblaje y luego (manualmente) aplicar un parche a la representación textual de la referencia en el archivo de proyecto de Visual Studio correspondiente (extensión .csproj) de modo que se vuelva relativo .
Lo he hecho muchas veces en VS 2005 sin ningún problema.
Creo que no es necesario modificar el archivo de proyecto manualmente. En mi experiencia, Visual Studio siempre usa pathes relativos. La única vez que tuve que modificar el archivo del proyecto a mano fue cuando quería compartir un archivo de clave (.snk). Visual Studio siempre copia el archivo de clave en el directorio del proyecto, lo que da como resultado varias copias del archivo de clave. –
Como se mencionó anteriormente, puede editar manualmente el archivo .csproj
de su proyecto para aplicarlo manualmente.
También noté que Visual Studio 2013 intenta aplicar una ruta relativa al hintpath de referencia, probablemente debido a un intento de hacer que el archivo del proyecto sea más portátil.
- 1. Agregar referencias sin Visual Studio
- 2. visual studio 2010 referencias condicionales
- 3. Firmar un ensamblado en Visual Studio
- 4. Qué uso tiene la propiedad Aliases de las referencias de ensamblado en Visual Studio 8
- 5. referencias de rvalue en Visual Studio 2010
- 6. C# Visual Studio ... agregar referencias mediante programación
- 7. ¿Cómo evitar que Visual Studio actualice las referencias de ensamblaje?
- 8. Depurar el ensamblado cargado dinámicamente en Visual Studio .NET
- 9. Error criptográfico al firmar el ensamblado en Visual studio
- 10. Django Trayectos WGSI
- 11. System.ServiceModel.dll falta en las referencias visual studio 2010
- 12. ¿Dependencias de compilación de proyectos de Visual Studio sin referencias?
- 13. Visual Studio: ¿referencias en el código no reconocidas?
- 14. Referencias de Visual Studio Project dentro de la solución
- 15. Error HRESULT E_FAIL al pegar referencias en Visual Studio
- 16. Referencias y versiones de Visual Studio: ¿cómo funciona?
- 17. ¿Hay alguna manera de especificar referencias de ensamblado basadas en la configuración de compilación en Visual Studio?
- 18. Cómo establecer la propiedad "Versión específica" para las referencias de proyectos en Visual Studio
- 19. Cambiando referencias de C# .dll de absoluto a relativo
- 20. Visual Studio Missing Warnings
- 21. Referencias DLL en Visual C++
- 22. Visual Studio persiste en usar UnitTestFramework 10.0.0.0
- 23. Visual Studio: paso al ensamblaje
- 24. Visual Studio sigue construyendo todo
- 25. /LinkResource en Visual Studio 2010
- 26. Diferentes referencias de ensamblado .NET según 32-64 bit
- 27. ¿Puedo copiar algunas referencias de un proyecto y pegarlo en las referencias de otro proyecto en Visual Studio?
- 28. Visual Studio 2012 - No se puede encontrar el ensamblado System.Transactions en .NET Framework 4.5
- 29. ¿Cómo agrego un ensamblado a un proyecto de Visual Studio y lo menciono?
- 30. Cómo adjuntar fuentes al ensamblado al que se hace referencia en Visual Studio
Si no funciona desde la IU, recuerde que puede simplemente editar a mano el archivo .proj directamente y cambiar la ruta de acceso a relativa. Una vez que lo cambie de cualquier forma, se mantendrá de la manera en que lo haya puesto. –
En Visual Studio 2010, las rutas de referencia se almacenan como relativas de manera predeterminada, por lo tanto, si esto le sucede a usted, algo más está mal. En mi caso, era como si hubiera ignorado las dlls ignoradas por el control de versiones para poder compilar la solución pero mis compañeros de trabajo no podían. –