EXE сгенерирован в папке obj \ Debug - PullRequest
0 голосов
/ 09 июля 2010

Я унаследовал приложение Windows Forms и обнаружил, что .EXE-файл создается в папке obj \ Debug при каждой компиляции.

Я скорее разработчик веб-форм, поэтомунемного смущен относительно того, что здесь происходит.Почему это .EXE, а не .DLL?Что этот файл на самом деле представляет?Это поведение по умолчанию для приложений Windows Forms?Или мой предшественник должен был как-то его настроить?

Насколько я могу судить, решение не имеет проекта развертывания.

Ответы [ 4 ]

2 голосов
/ 07 января 2011

Есть много типов выигрышных приложений в Delhpi.Если вы создаете форму Windows, .exe будет создан в папке отладки аналогично, если вы создаете Dynamic Link Liberary (DLL) .dll файлы будут созданы.Эти файлы создаются каждый раз, когда вы компилируете приложение.

1 голос
/ 09 июля 2010

Почему это проблема? Проекты консольных приложений также имеют exe-файл в папке obj / Debug. Папки obj НЕ используются для запуска приложения - они используются для создания конечных двоичных файлов в папках bin.

Если вопрос касается exe vs dll, то для запуска приложения используется скомпилированный exe-файл. В веб-среде вы использовали DLL, потому что ASP.NET новый, как запустить код из него. Но Windows знает, как запускать exe-файлы, поэтому любой ваш код может быть скомпилирован в исполняемый файл.

1 голос
/ 09 июля 2010

Каждое приложение, будь то веб или Windows, будет иметь точку входа для выполнения. Все в скомпилированном виде в .Net является сборкой, которая не всегда должна быть файлом DLL. EXE-файл - это сборка .Net с точкой входа и несколькими заголовками в начале файла, которая идентифицирует себя как отдельный исполняемый файл для операционной системы Windows. В случае вашего веб-приложения ваши страницы asp.net являются точками входа, которые пользователи будут вводить в браузере и запускать приложение. В случае автономных оконных форм настольного приложения, это исполняемый файл, который пользователь может щелкнуть при запуске.

Я скорее разработчик веб-форм, поэтому меня немного смущает то, что здесь происходит. Почему это .EXE, а не .DLL?

Сказав это, важно также отметить, что, как и asp.net не единственная платформа для разработки веб-приложений [у вас есть php, jsp и т. Д.], Формы Windows .Net также не являются Единственный способ создания автономных исполняемых файлов. Вы можете создавать EXE-файлы в C, C ++, VB, Delhpi и т. Д., Только с той разницей, что они не будут сборками .Net, но все они, включая исполняемые файлы .Net, будут иметь точку входа для запуска выполнения и заголовок EXE, идентифицирует их как исполняемые файлы в операционной системе Windows хоста.

0 голосов
/ 09 июля 2010

Почему это будет DLL?Это приложение - оно должно быть запускаемым, в отличие от веб-сайта, который живет «внутри» веб-сервера (эффективно).Exe-файл является приложением (конечно же, наряду с любыми библиотеками).Вы дважды щелкните по нему, он запустит приложение.Нет проблем.

Сказав это, вы должны в значительной степени игнорировать каталог obj - это просто промежуточный каталог.Каталог bin - это тот, из которого вы должны получать результаты сборки.

...