Я пытаюсь объединить библиотеку в другую библиотеку с ILMERGE.Выход ILMERGE меньше, чем объединенная библиотека
Основная сборка составляет около 33 килобайт, сборка, которая будет слита с ней, составляет около 5 Мб. После слияния новая сборка составляет 1,2 Мб.
Я хотел бы, чтобы какая-то помощь в понимании журнала из слияния, потому что я не думаю, что объединенная сборка должна быть намного меньше.
Вот лог:
ILMerge версия 2.13.307.0 Copyright (C) Microsoft Corporation 2004-2006. Все права защищены. ILMerge /lib:C:\Windows\Microsoft.NET\Framework\v4.0.30319/lib: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ PublicAssemblies/t: dll/log: merge. log/zeropekind /targetplatform:v4,C:\Windows\Microsoft.NET ||Framework\v4.0.30319 /out:ericsconnectionsM.dll ericsconnections_32.dll chilkatdotnet45.dll Установите платформу на 'v4', используя каталог 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319' для mscorlib.dll Бег на Microsoft (R) .NET Framework v4.0.30319 mscorlib.dll версия = 4.0.0.0 список входных сборок: ericsconnections_32.dll chilkatdotnet45 .dll Попытка прочитать сборку из файла 'C: \ Users \ eervawo \ Documents \ Visual Studio 2010 \ Projects \ EricsConnections \ EricsConnections \ bin \ Debug \ ericsconnections_32.dll'. Успешно прочитано в сборке. Не сообщалось об ошибках в метаданных EricsConnections_32. Пытается прочитать сборку из файла 'C: \ Users \ eervawo \ Documents \ Visual Studio 2010 \ Projects \ EricsConnections \ EricsConnections \ bin \ Debug \ chilkatdotnet45.dll'. Не удается найти файл PDB. Информация об отладке не будет доступна для сборки 'chilkatdotnet45.dll'. Успешно прочитано в сборке. Не сообщалось об ошибках в метаданных ChilkatDotNet45. Проверка того, что все входные сборки имеют совместимый PeKind. EricsConnections_32.PeKind = ILonly, Requires32bits ChilkatDotNet45.PeKind = 0 Эффективный PeKind для 'ChilkatDotNet45' будет считаться: ILonly Всех входные узлы имеют совместимое значение PeKind. AssemblyResolver: сборка «EricsConnections_32» ссылается на сборку «System.Xml.Linq». AssemblyResolver: попытка ссылки на каталог сборки. AssemblyResolver: Не удалось найти сборку в справочнике по сборке. AssemblyResolver: попытка ввода каталога ввода. AssemblyResolver: Не удалось найти сборку в каталоге ввода. AssemblyResolver: Попытка каталога, поставляемого пользователем. Исправлена ссылка на сборку 'System.Xml.Linq' на 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Xml.Linq.dll'. (Используется клиентский каталог.) Не удается найти файл PDB. Информация об отладке не будет доступна для сборки «System.Xml.Linq». AssemblyResolver: сборка «EricsConnections_32» ссылается на сборку «System.Core». AssemblyResolver: попытка ссылки на каталог сборки. AssemblyResolver: Не удалось найти сборку в справочнике по сборке. AssemblyResolver: попытка ввода каталога ввода. AssemblyResolver: Не удалось найти сборку в каталоге ввода. AssemblyResolver: Попытка каталога, поставляемого пользователем. Исправлена ссылка на сборку 'System.Core' на 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Core.dll'. (Используется клиентский каталог.) Не удается найти файл PDB.Информация об отладке не будет доступна для сборки «System.Core». Использование сборки 'EricsConnections_32' для атрибутов уровня сборки для целевой сборки. Сборка сборника «EricsConnections_32» в сборку цели. Сборка сборки «ChilkatDotNet45» в сборку цели. Атрибут уровня сборки 'System.Security.AllowPartiallyTrustedCallersAttribute' из сборки 'ChilkatDotNet45' удаляется из целевой сборки Копирование 8 ресурсов Win32 из сборки 'EricsConnections_32' в сборку целей. Не сообщалось об ошибках в метаданных целевой сборки. ILMerge: Написание целевой сборки 'ericsconnectionsM.dll'. AssemblyResolver: Assembly 'System' ссылается на сборку 'System.Configuration'. AssemblyResolver: попытка ссылки на каталог сборки. Не удается найти файл PDB. Информация об отладке не будет доступна для сборки «System.Configuration». Исправлена ссылка на сборку 'System.Configuration' на 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Configuration.dll'. (Используемый каталог справочного модуля.) Местоположение для ссылочного модуля 'KERNEL32.dll' is '' Местоположение для ссылочного модуля '' is '' Местоположение для ссылочной сборки 'mscorlib': 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ mscorlib.dll ' В метаданных mscorlib не сообщалось об ошибках. Местоположение для ссылочной сборки «Microsoft.VisualBasic»: «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.VisualBasic.dll ' В метаданных Microsoft.VisualBasic не было ошибок. Местоположение для ссылочной сборки «System.Xml.Linq» является «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Xml.Linq.dll ' В метаданных System.Xml.Linq не было ошибок , Местоположение для ссылочной сборки «System.Core» - это «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Core.dll» Не сообщалось об ошибках в метаданных System.Core. Местоположение для ссылочной сборки «System.Data» - это «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Data.dll» В метаданных System.Data не было сообщений об ошибках. Местоположение для ссылочной сборки «Система» - это «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ system.dll» В метаданных системы не было сообщений об ошибках. ILMerge: Готово.
Что происходит не так?
Если вы не можете объединить сборку в смешанном режиме, как я могу создать единую сборку с этой сборкой в смешанном режиме? Есть ли способ добавить эту сборку в смешанном режиме в качестве ресурса? Но как я могу загрузить его? – Eric
Вам нужно привыкнуть к идее, что вы не можете объединить сборки C++/CLI. Конечно, вы всегда можете объединить его в файл с именем * setup.exe *, наверняка вы видели это раньше. –