Я хочу знать, как я могу сжать свои DLL-файлы в своей программе, а затем при запуске программы файлы извлекаются из программы, чтобы программа могла их использовать, и когда программа закрыта , файлы сжимаются обратно.Программа dll merge and unmerge
1
A
ответ
0
Если я понимаю это правильно, вы хотите, чтобы ro скрывала ваши DLL.
Первый способ:
1) Включите DLL в качестве ресурса в проекте (ехе)
2) Реализовать метод, как это:
public static void ResourceToFile(string fileName, string dir, byte[] resource) {
Directory.CreateDirectory(dir);
string path = Path.Combine(dir, fileName);
File.WriteAllBytes(path, resource);
}
3) Назовите, как это: (при запуске приложения, перед использованием DLL)
ResourceToFile("xyz.dll", Application.StartupPath, Resources.xyzLib);
сек Зонда образом:
(нет файлов, написанных, возможно только для сборок)
Вы можете использовать AppDomain.AssemblyResolve
событие, которое возникает, когда DLL ANNOT найден.
Используйте вышеуказанный метод для загрузки сборки из ресурсов приложений.
0
Для этого вы можете использовать класс ZipArchive.
0
Взятый с Jeffrey Richters blog. Это будет загружать сборки из ваших ресурсов программ, поэтому для запуска требуется только исполняемый файл.
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
String resourceName = "AssemblyLoadingAndReflection." +
new AssemblyName(args.Name).Name + ".dll";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) {
Byte[] assemblyData = new Byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
};
Смежные вопросы
- 1. Merge, Unmerge, Remerge macro
- 2. Mercurial commit and merge
- 3. Merge Sort and Queue
- 4. Unmerge объединил ячейку при пустом
- 5. Merge and QuickSort - перегружен стеклом
- 6. Git Merge and Missing changes
- 7. Pandas merge and add columns
- 8. Egit pull and merge changes
- 9. Split and merge pandas dataframe
- 10. JSON merge and override array
- 11. SSRS Unmerge Matrix Columns
- 12. Unmerge слова ячейки VSTO
- 13. Unmerge текст с PyPDF2
- 14. Программа проверки зависимостей DLL
- 15. Где программа C# ищет DLL?
- 16. Merge C# DLL файлы в .EXE
- 17. Unmerge в Google Apps Script
- 18. itextsharp merge resizes and unrotates pdf
- 19. SQL Collumn merge and aggregate functions
- 20. SQL Bulk Upload, Merge and Delete records
- 21. Diff and Merge or delta sync
- 22. git merge select ours and theirs
- 23. Git merge and ovewrite от тега
- 24. Различные результаты для git Merge and Rebase
- 25. pandas concat/merge and sum one column
- 26. Программа split и merge OpenCV показывает ошибку
- 27. Merge + unmerge ячейки для нормализации таблицы на основе первого столбца; вставить новые строки между объединенным содержанием
- 28. System.EnterpriseServices and Powershell Locking dll
- 29. DLL Injection and Access Violation
- 30. VBA слияния и Unmerge в соответствии с если заявление
В чем смысл этого? Действительно ли файлы DLL слишком большие *? –
вам нужно сжать библиотеки DLL из-за размера или просто хотите скрыть библиотеки DLL? – MEYWD
@CodyGray Есть 4 dll размером около 4 Мб. Я хочу, чтобы это было сделано только ради того, чтобы не использовать папку или слишком много файлов на рабочем столе. –