Руководство. Публикация консольного приложения .NET с помощью Visual Studio для Mac
Важно!
Корпорация Майкрософт объявила о прекращении работы Visual Studio для Mac. Visual Studio для Mac больше не будет поддерживаться с 31 августа 2024 г. Ниже представлены возможные альтернативы.
- Visual Studio Code с пакетом разработки C# и связанными расширениями, такими как .NET MAUI и Unity.
- Visual Studio, запущенная в Windows на виртуальной машине Mac.
- Visual Studio, запущенная в Windows на виртуальной машине в облаке.
Дополнительные сведения см. в Visual Studio для Mac объявлении о выходе на пенсию.
В этом руководстве показано, как опубликовать консольное приложение, чтобы его могли запускать другие пользователи. При публикации создается набор файлов, которые необходимы для запуска приложения. Чтобы развернуть файлы, скопируйте их на целевой компьютер.
Необходимые компоненты
- В этом руководстве используется консольное приложение, созданное по инструкциям из статьи Создание консольного приложения .NET с помощью Visual Studio для Mac.
Публикация приложения
Запустите Visual Studio для Mac.
Откройте проект HelloWorld, созданный по инструкциям из статьи Создание консольного приложения .NET с помощью Visual Studio для Mac.
Убедитесь, что в Visual Studio настроен режим сборки для версии выпуска. При необходимости измените конфигурацию сборки на панели инструментов, указав конфигурацию Выпуск вместо конфигурации Отладка.
В главном меню выберите Сборка>Опубликовать в папке…
В диалоговом окне Опубликовать в папке выберите Опубликовать.
Откроется папка публикации с созданными файлами.
Щелкните значок шестеренки, а затем в контекстном меню выберите Copy "publish" as Pathname (Копировать publish как путь к папке).
Проверка файлов
В ходе публикации создается платформенно-зависимое развертывание. При таком развертывании опубликованное приложение выполняется на компьютере с установленной средой выполнения .NET. Пользователи могут запустить опубликованное приложение, выполнив команду dotnet HelloWorld.dll
из командной строки.
Как показано на предыдущем рисунке, опубликованные выходные данные включают следующие файлы:
HelloWorld.deps.json
Это файл зависимостей среды выполнения приложения. Он определяет библиотеки и компоненты .NET (включая библиотеку DLL, содержащую приложение), необходимые для запуска приложения. Дополнительные сведения см. в разделе Runtime Configuration Files (Файлы конфигурации среды выполнения).
HelloWorld.dll
Это версия зависимого от платформы развертывания приложения. Чтобы выполнить эту библиотеку динамической компоновки, введите
dotnet HelloWorld.dll
в командной строке. Этот метод запуска приложения работает на любой платформе, где установлена среда выполнения .NET.HelloWorld.pdb (необязателен для развертывания)
Это файл отладочных символов. Этот файл не нужно распространять вместе с приложением, но желательно сохранить его на случай, если придется выполнять отладку опубликованной версии приложения.
HelloWorld.runtimeconfig.json
Это файл конфигурации среды выполнения приложения. Он определяет версию платформы .NET, для которой предназначено приложение. Кроме того, в него можно добавить параметры конфигурации. Дополнительные сведения см. в статье Параметры конфигурации среды выполнения .NET.
Запуск опубликованного приложения
Откройте терминал и перейдите в папку publish. Для этого введите
cd
и вставьте скопированный ранее путь. Например:cd ~/Projects/HelloWorld/HelloWorld/bin/Release/net5.0/publish/
Запустите приложение с помощью команды
dotnet
:Введите
dotnet HelloWorld.dll
и нажмите клавишу ВВОД.В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Дополнительные ресурсы
- Развертывание приложений .NET
- Публикация приложений .NET с помощью интерфейса командной строки
dotnet publish
- Руководство. Публикация консольного приложения .NET с помощью Visual Studio Code
- Использование пакета SDK для .NET в средах непрерывной интеграции (CI)
Следующие шаги
В этом руководстве вы опубликовали консольное приложение. Далее вы создадите библиотеку классов.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по