Ответы с форумов MSDN

Сборка приложения .NET Core в EXE-файл

Date: 18.04.2019 9:41:33

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

Вы будете смеяться, но ответ - "Да"... В .NET Core стандартный вариант - это распространение DLL, запускаемого через команду "dotnet" командной строки. Причина в том, что .NET Core работает на многих ОС, не все из которых используют формат EXE (PE) для исполняемых файлов, а способ с командной строкой универсален для всех ОС.

Чтобы сгенерировать для приложения обычный EXE, необходимо сконфигурировать проект определенным образом: https://blogs.msdn.microsoft.com/luisdem/2017/03/19/net-core-1-1-how-to-publish-a-self-contained-application/

Message 258

Date: 18.04.2019 18:58:57

Да, "dotnet app.dll". Делать переход в каталог вроде не нужно, так как он прописывается в PATH.

"а люди, придумавшие такой способ старта приложения не думали каково будет конечному пользователю" 

Обычно создается инсталлятор, который создает ярлык на рабочем столе или в системном меню. Пользователь просто нажимает на ярлык и не задумывается, какой именно тип файла запускается. 

"раз в студии изначально отсутсвует  компиляция в exe как таковая, значит либо мир с ума сходит либо я чего то не недопонимаю."

Прочитайте внимательно статью, ссылку на которую я дал. В .NET Core "компиляция" (точнее построение) - это процесс получения DLL, не привязанной к конкретной ОС. Получение исполняемых файлов, заточенных под конкретную ОС, это отдельный процесс, называемый публикацией. Он отделен от построения, так как на этапе отладки без разницы, что именно запускать; заточенные под конкретные ОС пакеты нужны только на этапе развертывания готового приложения.

Вроде это не сильно отличается от Java, где компилятор стандартно выдает кроссплатформенный JAR-файл, а для получения EXE нужны дополнительные действия?


Автор: VadimTagil

Главная страница - Список тем - Репозиторий на GitHub