2010-01-06 34 views
12

¿Es posible obligar a mi archivo de solución C# a crear una única DLL que contenga todos los proyectos en la solución, en lugar de una DLL por proyecto? This dude dice que no es posible, pero noto que es una publicación de 2004. Estoy usando Visual Studio 2008 Team System y es una aplicación de C#.una DLL, varios proyectos?

Respuesta

20

No. Cada proyecto se compilará en una biblioteca o aplicación separada.

Sin embargo, puede fusionar estos archivos en un único archivo DLL o EXE utilizando la compilación ILMerge.

0

Es posible, y hasta era posible en 2004.

Sin embargo, Visual Studio no lo exponga.

Necesita usar netmodules.

+1

¿Seguro? Parece que crea un conjunto de varios módulos (un conjunto que usa varios archivos DLL), ni un solo archivo DLL. –

+0

Todavía es una única DLL. – SLaks

0

Puede crear un script de MSBuild que use XSLT para combinar todos los archivos csproj en uno y luego compilarlo. No necesitará copiar archivos cs ni nada de eso, solo genere dinámicamente un nuevo archivo csproj.

14

No es posible con Visual Studio directamente, pero puede combinar ensamblajes usando ILMerge. Esto podría, p. que hacer en un paso posterior a la generación:

ilmerge /target:winexe /out:SelfContainedProgram.exe 
    Program.exe ClassLibrary1.dll ClassLibrary2.dll 

Si su proyecto es un proyecto de ASP.Net se puede confiar en la ASP.NET Merge Tool.

0

nunca se hace personalmente, pero parece que esta herramienta podría hacer que eso suceda:

ILMerge

Cuestiones relacionadas