Может ли приложение .Net быть преобразовано в портативное приложение, т.е. один .exe - PullRequest
6 голосов
/ 21 января 2010

Может ли приложение .Net быть преобразовано в одно переносимое приложение .exe?

т.е. нет установщика, он просто запускается?

Я полагаю, все DLL, ресурсы и т. Д. Нуждаются в встраивании в exe? Если да, то как бы я это сделал?

Спасибо

Ответы [ 5 ]

8 голосов
/ 21 января 2010

Вы можете использовать ILMerge для объединения всех сборок в один исполняемый файл. Но вам все еще нужно установить среду выполнения фреймворка. Чтобы превратить ваш исполняемый файл в собственный исполняемый файл, вы можете взглянуть на этот вопрос .

1 голос
/ 21 января 2010

Да, приложение .NET может быть одним файлом .exe. Вы можете написать только одну сборку без зависимостей вне платформы .NET или объединить несколько сборок в одну, используя ILMerge . Тем не менее, пользователю все равно потребуется соответствующая версия .NET Framework; Обойти это невозможно.

1 голос
/ 21 января 2010

Нет - вы не можете статически включать среду выполнения .net в свое собственное приложение

0 голосов
/ 02 августа 2013

Можно упаковать приложение .net в один исполняемый файл, используя концепцию, называемую виртуализацией приложения. Это не самая практичная вещь в мире, но это возможно.

Я написал несколько подробностей об этом в ответ на это сообщение .

0 голосов
/ 21 января 2010

Я не уверен, но звучит так, будто вы хотите, чтобы .NET Framework (или части, необходимые для вашего приложения) были включены в установщик, так что он на 100% автономен, да? Я знаю, что приложения ClickOnce могут загружать .NET, если он еще не установлен, но это не помогает, если вы развертываете на компьютерах с ограниченным или отсутствующим сетевым подключением. Насколько я понимаю, вы можете распространять фреймворк с вашим приложением:

http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx, но я никогда не делал это сам.

РЕДАКТИРОВАТЬ: исполняемый файл вашего приложения на самом деле не нужно устанавливать с установщиком (он будет запущен, если вы просто дважды щелкните по нему), но если вы включаете другие файлы (например, распространяемые. вам, вероятно, понадобится какой-нибудь инсталлятор.

...