¿Cómo guardar archivos DLL en una carpeta diferente cuando se compila en Visual Studio?
Supongamos que tengo un Formulario de Ventana / Aplicación de Consola C # project with some external references and references to other class library projects in the same solution too.
Cuando compilo el proyecto Window Form , Quiero que las bibliotecas referenciadas se almacenen en una ubicación diferente (por ejemplo: bin \ Release \ Libraries), y no en la misma carpeta que el .exe .
¿Es posible hacerlo?
5 answers
Hay 2 partes de tu pregunta:
Cómo configurar soluciones para construir ensamblados/EXE en carpetas de su elección - esto se configura a través de las propiedades del proyecto en VS (propiedades del proyecto -> construir -> ruta de salida). También el valor de la propiedad check "copy local" en cada referencia.
Cómo cargar archivos ensamblados desde ubicaciones no predeterminadas (es decir, desde su...\ Libraries carpeta) - es necesario hacer cambios en su aplicación.archivo de configuración para agregar estas rutas no predeterminadas al ensamblado ubicación de búsqueda ( http://support.microsoft.com/kb/837908 ).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-23 16:06:59
Las respuestas correctas fueron dadas anteriormente. Solo mencionaré que hay un paquete nuget para esto llamado PrettyBin .
Instálalo en tu proyecto de inicio. DLLs y XMLs irán a una carpeta lib y tendrás un ejemplo de trabajo de cómo se hace, si no quieres personalizar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-14 13:09:19
Establecer la ruta de referencia en el proyecto peoplerties.
También puede especificar a dónde va su exe compilado especificando la ruta de salida en el proyecto peoplerties.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-24 21:18:47
Aquí encontrará las mejores prácticas para organizar referencias de proyectos:http://codebetter.com/patricksmacchia/2009/01/11/lessons-learned-from-the-nunit-code-base/
Busque en el capítulo " La Referencia del proyecto VisualStudio + Copiar la opción Local true es mala!"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-24 21:35:42
Sí es posible, lo haría en su script de msbuild. Si bien no puedo darle una respuesta exacta, mire aquí esta pregunta en SO Copie todos los archivos y carpetas usando msbuild
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:53:59