c# build-process assemblies ilmerge

c# - ILMerge DLL: ensamblado no fusionado correctamente, todavía aparece como una referencia externa



build-process assemblies (3)

Recibí este error y apuntaba a la referencia de Microsoft.Xrm.Sdk que estaba fusionando en el dll único. El problema se solucionó cuando configuré otra referencia, Microsoft.Xrm.Sdk.Deployment para fusionarme también en el dll. Lo gracioso es que en un proyecto separado tuve la primera fusión de referencia y la segunda dll de implementación no se fusionó y no se quejó en absoluto.

En el proceso de compilación para una herramienta .NET C #, he estado usando ILMerge para fusionar los ensamblados en un solo exe.

Agregué una nueva biblioteca de clases recientemente, y ahora ILMerge está fallando. ¡Me he acordado de decirle que se fusione en la nueva DLL!

Ahora me está dando este error, que realmente no entiendo:

ILMerge.Merge: el ensamblado ''DataObjects'' no se combinó correctamente. Todavía se enumera como una referencia externa en el ensamblaje de destino.

Todas las referencias de ensamblaje que he hecho utilizando referencias de ''proyecto'', y no ha fallado en el pasado.

¿Alguien puede explicarme este error o sugerir una solución por favor?


Recibí un mensaje de error similar al intentar publicar una aplicación web que combinaba todas las salidas en un único ensamblaje:

Se produjo un error al fusionar ensamblajes: ILMerge.Merge: el ensamblaje de destino se enumera como una referencia externa.

Esto sucede si el nombre del ensamblaje al que se está fusionando coincide con el nombre del ensamblaje de la aplicación web en Properties > Application . Cambiar el nombre del conjunto de salida debería arreglarlo.


Tuve que usar el argumento /closed . De acuerdo con los documentos oficiales:

Cerrado

Cuando esto se establece antes de llamar a Merge, entonces el "cierre transitivo" de los conjuntos de entrada se calcula y se agrega a la lista de ensamblados de entrada. Un ensamblaje se considera parte del cierre transitivo si se hace referencia, ya sea directa o indirectamente, desde uno de los ensamblajes de entrada originalmente especificados y tiene una referencia externa a uno de los ensamblajes de entrada, o uno de los ensamblajes que tiene dicha referencia . Complicado, pero así es la vida ...