2011-02-28 21 views
6

Cuando construyo un proyecto en una solución en Visual Studio (puede ser C# VB.NET F # o bien) supongo que solo se genera un ensamblado por proyecto ¿no?Comprender ensamblados .NET

Entonces, si tengo una solución que contenga el proyecto 1 2 3 y 4 Cuando construyo uno por uno cada proyecto, obtengo 4 ensamblajes, ¿verdad?

Sin embargo, ¿existe la posibilidad de que el generador/compilador genere solo un ensamblaje para toda la solución? O para dos proyectos compilados juntos?

me refiero a algo como llamar al compilador utilizando la línea de comandos y el establecimiento de un conjunto de señal ...

+0

¿Por qué no hacer simplemente un proyecto único, entonces? – bAN

+2

@BAN Por ejemplo, porque utiliza diferentes idiomas en los diferentes proyectos. O desea separar sus capas de una manera ejecutada por el compilador. O tiene un código común entre múltiples soluciones. – CodesInChaos

+0

@bAN SOrry por llegar tarde ... bueno, hay necesidades, a veces, donde un programador necesita mantener proyectos separados mientras se compila en un ensamblaje único ... – Andry

Respuesta

10

Por defecto hay una correspondencia 1 a 1 entre los proyectos y montajes. Pero puede usar una herramienta como ILMerge para crear un ensamblaje a partir de varios.

+0

WOW está bien ... gracias CodeInChaos fue útil ... Sin embargo, ¿hay alguna manera de hacer esto usando los compiladores .net ??? por ejemplo, llamarlos desde la línea de comando y especificar el conjunto de destino ??? – Andry

+0

Supongo que puede realizar una llamada de este tipo en el script de compilación posterior. Pero no he hecho algo así yo mismo. – CodesInChaos

+0

@Andry MSBuild podría ser la herramienta adecuada aquí. Vea esta entrada del blog: http://www.hanselman.com/blog/MixingLanguagesInASingleAssemblyInVisualStudioSeamlesslyWithILMergeAndMSBuild.aspx – PetPaulsen

Cuestiones relacionadas