Visual Studio - Создание приложения на исполняемый файл? - PullRequest
1 голос
/ 25 декабря 2011

В VS я только тестировал код и отлаживал его, но фактически никогда ничего не готовил для финализированной программы или выпуска.У некоторых из загруженных мною программ были dll, которые должны быть в папке, в которой они находятся, и у меня были программы, которые поставляются как один .exe.Есть ли способ собрать все файлы в одно приложение и не иметь внешних DLL?Это плохая практика программирования по какой-то причине?Как мне скомпилировать мою программу VS в один исполняемый файл?

Я знаю, что это довольно очевидный вопрос, поэтому я не могу найти ответ, потому что было бы слишком очевидно, чтобы написать какой-либоучебник по нему.

Ответы [ 3 ]

3 голосов
/ 25 декабря 2011

В управляемом языке, таком как C # или VB.NET, ILMerge - это утилита, которую вы можете использовать.

ILMerge - это утилита для объединения нескольких сборок .NET в одну сборку .NET. Он работает как с исполняемыми файлами, так и с DLL-библиотеками и имеет несколько опций для управления обработкой и форматом вывода.

1 голос
/ 25 декабря 2011

Если вопрос заключается только в том, чтобы заставить VisualStudio создавать исполняемые программы, он делает это каждый раз, когда вы запускаете их внутри него.Если вы используете все настройки по умолчанию, откройте папку вашего проекта и найдите каталог / bin.Под ним находятся каталоги / debug и / release.Если вы строите свою программу в режиме отладки, посмотрите в каталог / debug, если вы строите ее в режиме выпуска, посмотрите в каталоге выпуска.VS поместит все, что нужно вашей программе, в этот каталог.Вы можете скопировать все эти файлы на другой компьютер, на котором установлена ​​среда выполнения .Net, и он должен запуститься.

Если вопрос больше в том, чтобы объединить несколько dll в один exe-файл, то на самом деле есть руководство по нему.в CodePlex:

Как вы знаете, традиционное связывание объектного кода больше не требуется в .NET.Программа .NET обычно состоит из нескольких частей.Типичное приложение .NET состоит из исполняемой сборки, нескольких сборок в каталоге программы и нескольких сборок в глобальном кэше сборок.Когда программа запускается, среда выполнения объединяет все эти части в программу.Связывание во время компиляции больше не требуется.

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

http://www.codeproject.com/KB/dotnet/mergingassemblies.aspx

И наконец, если вопрос касается создания установщика для широкого распространения, у Ян Виллема Б есть пример для WIX: Использование WIX для создания установщика: краткое руководство

0 голосов
/ 25 декабря 2011

Да, вы можете использовать ILMerge для встраивания управляемых .Net DLL!Пример здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...