Может ли приложение.Net быть преобразовано в переносимое приложение, т.е. одно.exe
Можно ли преобразовать приложение.Net в одно переносимое приложение.exe?
т.е. нет инсталлятора, он просто запускается?
Я полагаю, все DLL, ресурсы и т. Д. Нужно встраивать в EXE? Если так, как бы я это сделал?
Спасибо
5 ответов
Вы можете использовать ILMerge для объединения всех сборок в один исполняемый файл. Но вам все еще нужно установить среду исполнения фреймворка. Чтобы превратить ваш исполняемый файл в собственный, вы можете взглянуть на этот вопрос.
Да, приложение.NET может быть одним файлом.exe. Вы можете написать только одну сборку без зависимостей за пределами.NET Framework или объединить несколько сборок в одну, используя ILMerge. Тем не менее, пользователю все равно понадобится соответствующая версия.NET Framework; Обойти это невозможно.
Нет - вы не можете статически включать среду выполнения.net в собственное приложение
Можно упаковать приложение.net в один исполняемый файл, используя концепцию, называемую виртуализацией приложения. Это не самая практичная вещь в мире, но это возможно.
Я написал еще несколько деталей об этом в ответ на этот пост.
Я не уверен, но похоже, что вы хотите, чтобы.NET Framework (или части, необходимые для вашего приложения) были включены в установщик, так что он на 100% автономен, да? Я знаю, что приложения ClickOnce могут загружать.NET, если он еще не установлен, но это не помогает, если вы развертываете на компьютерах с ограниченным или отсутствующим сетевым подключением. Насколько я понимаю, вы можете распространять фреймворк вместе с вашим приложением:
http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx, но я никогда не делал это сам.
РЕДАКТИРОВАТЬ: исполняемый файл вашего приложения на самом деле не нужно устанавливать с установщиком (он будет работать, если вы просто дважды щелкните по нему), но если вы включаете другие файлы (такие как распространяемый.NET), то вы, вероятно, будет нужен какой-то установщик.