Перейти к содержимому

Как создать exe файл в visual studio 2019

  • автор:

Отладка приложения, которое не входит в решение Visual Studio (C++, C#, Visual Basic, F#)

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Иногда требуется выполнить отладку приложения (EXE-файл), которое не является частью решения Visual Studio. Это может быть проект с открытой папкой, вы или кто-то другой мог создать приложение вне Visual Studio или вы получили приложение в другом месте.

  • Для проекта с открытой папкой в Visual Studio (без файла проекта или решения) см. статью Выполнение и отладка кода или (для C++) Настройка параметров отладки с помощью launch.vs.json.
  • Для приложения, которое не существует в Visual Studio, отладка обычно выполняется путем запуска за пределами Visual Studio, а затем присоединения с помощью функции Присоединение к процессу в отладчике Visual Studio. Дополнительные сведения см. в статье Присоединение к выполняемым процессам. Присоединение к приложению требует выполнения некоторых операций вручную, и это занимает несколько секунд. Из-за этой задержки присоединение не помогает отладить проблемы при запуске или приложение, которое не ждет ввода данных пользователем и быстро завершается. В таких ситуациях можно создать проект Visual Studio EXE для приложения или импортировать его в существующее решение C#, Visual Basic или C++. Не все языки программирования поддерживают исполняемые проекты.

Функции отладки для приложения, не созданного в Visual Studio, ограниченны, независимо от того, присоединяетесь ли вы к нему или добавляете в решение Visual Studio.

Если у вас есть исходный код, лучше всего импортировать его в проект Visual Studio. Затем запустите отладочную сборку приложения.

Если у вас нет исходного кода и у приложения нет отладочной информации в совместимом формате, вам доступно немного функций отладки.

Создание EXE-проекта для существующего приложения

  1. В Visual Studio последовательно выберите Файл>Открыть>Проект.
  2. В диалоговом окне Открыть проект выберите Все файлы проекта, если они еще не выбраны, в раскрывающемся списке рядом с полем Имя файла.
  3. Перейдите к EXE-файлу, выберите его и щелкните Открыть. Файл появится в новом временном решении Visual Studio.
  4. Запустите отладку приложения, выбрав команду выполнения, например Начать отладку в меню Отладка.

Чтобы импортировать приложение в решение Visual Studio

  1. Когда решение C++, C# или Visual Basic будет открыто в Visual Studio, выберите Файл>Добавить>Существующий проект.
  2. В диалоговом окне Открыть проект выберите Все файлы проекта, если они еще не выбраны, в раскрывающемся списке рядом с полем Имя файла.
  3. Перейдите к EXE-файлу, выберите его и щелкните Открыть. Файл появится как новый проект в текущем решении.
  4. Выберите новый файл и запустите отладку приложения, выбрав команду выполнения, например Начать отладку в меню Отладка.

См. также

  • Параметры отладчика и подготовка
  • Безопасность отладчика
  • DBG-файлы

Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio

Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас!

В Visual Studio вы можете открыть любой EXE-файл как «проект». Просто перейдите в Файл -> Открыть -> Проект/Решение и перейдите к файлу .exe . Как если бы это был файл .sln . Visual Studio откроет этот EXE-файл как проект. Эта функция существует уже давно. Она работает на всех поддерживаемых в настоящее время версиях Visual Studio, и документация по ней находится на странице Отладка приложения, которое не является частью решения Visual Studio.

Отладка

Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Для отладки понадобятся символы, файлы PDB, для EXE и любых DLL, которые нужно отладить. Visual Studio будет следовать тому же процессу и попытается получить символы также, как и при отладке обычного проекта. Поскольку маловероятно, что файлы PDB были распространены вместе с EXE-файлом, возможно, вы захотите найти их в сборке или, что еще лучше, на сервере символов. Дополнительную информацию и рекомендации по использованию символов можно найти в этом блоге.

Для эффективной отладки вам также понадобится исходный код, который использовался для сборки EXE, или даже для нескольких файлов, которые вас интересуют. Вам нужно найти эти файлы и открыть их в Visual Studio. Если исходный код не совпадает с исходным кодом, который был собран, EXE Visual Studio предупредит вас, когда вы попытаетесь вставить точку останова, и точка останова не будет привязана. Это поведение может быть изменено в окне Settings peek window. В окне просмотра параметров щелкните текст ссылки Must match source, а затем установите флажок, чтобы разрешить несоответствующий источник, как показано ниже. Конечно, с несоответствующим источником вы никогда не знаете, что произойдет, так что используйте это только на свой страх и риск.

Если EXE был собран с SourceLink, то информация об источнике будет включена в PDB, и Visual Studio попытается загрузить источник автоматически. Это действительно хорошая причина использовать SourceLink с вашими проектами. Даже если у вас есть локальный набор, у вас может не быть той версии, которая использовалась для сборки двоичного файла. SourceLink — ваш надежный способ убедиться, что правильный источник связан с правильным двоичным файлом.

Если вы не можете получить исходный код, у вас еще есть несколько вариантов:

  1. Используйте инструмент для декомпиляции сборок обратно в C#, который вы можете перекомпилировать в новую сборку, чтобы исправить старую.
    1. ILSpy — отличный выбор для этого, но есть и множество других хороших платных и бесплатных инструментов.
    1. Документ Source Not Found содержит ссылку на view disassembly. Имейте в виду, что если вы привыкли к отладке кода на C#, представление о разборке (view disassembly) является крайним средством.

    Профилирование

    Вы также можете использовать инструменты профилирования с EXE-файлом, запустив их из Отладка -> Профилирование производительности. На странице запуска инструментов профилирования вы можете выбрать, какие инструменты использовать против EXE. Дополнительную информацию о профилировании можно найти в этих документах ( https://docs.microsoft.com/en-us/visualstudio/profiling/profiling-feature-tour?view=vs-2019).

    Заключение

    Вот и все. Краткий обзор того, как вы можете использовать Visual Studio для отладки и профилирования приложений, которые вы не создаете и которые могут даже не иметь исходного кода. В следующий раз, когда вам понадобится отладить или профилировать EXE-файл, не забудьте, что вы можете открыть его как решение в Visual Studio!

    • Блог компании Microsoft
    • Visual Studio

    Как скомпилировать единый exe файл в проекте Visual Studio?

    Сохраняется вот так, как можно создать единый файл?

    Отслеживать
    48.4k 5 5 золотых знаков 22 22 серебряных знака 57 57 бронзовых знаков
    задан 15 мая 2021 в 11:24
    Денис Волков Денис Волков
    79 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков

    @AK Я не согласен с тем, что прилинкованный ответ отвечает на вопрос, поскольку это .NET Core/5, а ответ для Framework.

    15 мая 2021 в 11:39
    @aepot Действительно, ловите плюсик за внимательность к деталям.
    15 мая 2021 в 12:14

    1 ответ 1

    Сортировка: Сброс на вариант по умолчанию

    Вам нужно опубликовать Build -> Publish приложение, в параметрах публикации выбрать Folder, далее выбрать win-x64 файл и поставить галочку Produce single file.

    Публикация приложения с одним файлом с помощью Visual Studio

    Visual Studio создает многократно используемые профили публикации, которые управляют процессом публикации приложения.

    1. В обозревателе решений щелкните правой кнопкой мыши проект, который нужно опубликовать. Нажмите кнопку Опубликовать. Обозреватель решений с контекстным меню, где выделен пункт Опубликовать
      Если у вас еще нет профиля публикации, следуйте инструкциям по его созданию и выберите Папка в качестве типа целевого объекта.
    2. Нажмите кнопку Изменить. Профиль публикации Visual Studio с кнопкой Изменить
    3. В диалоговом окне Параметры профиля задайте следующие параметры.
      • Параметру Режим развертывания задайте значение Автономное или Зависимое от платформы.
      • В качестве значения параметра Целевая среда выполнения укажите платформу, на которую будет выполнена публикация. (Значение должно быть отличным от Переносимый.)
      • Выберите Создать отдельный файл. Нажмите кнопку Сохранить, чтобы сохранить параметры и вернуться в диалоговое окно Публикация. Диалоговое окно параметров профиля с выделенными параметрами для режима развертывания, целевой среды выполнения и создания отдельного файла
    4. Чтобы опубликовать приложение с одним файлом, нажмите кнопку Опубликовать.

    Дополнительные сведения см. в статье Публикация приложений .NET Core с помощью Visual Studio.

    По поводу того, чем опции Self-contained и Framework-dependent отличаются, я ранее рассказывал здесь.

    Если все прошло хорошо, профиль публикации Properties\PublishProfiles\FolderProfile.pubxml будет выглядеть вот так

        Release Any CPU bin\Release\Publish FileSystem net5.0-windows win-x64 false True False   

    А в интерфейсе публикации оно будет выглядеть так

    введите сюда описание изображения

    Примечание для .NET 5 и более новых версий

    Так как в .NET 5 оптимизировали технологию запуска приложения из одиночного файла, теперь по умолчанию он не включает в себя нативные библиотеки, а включает только управляемые.

    Если ваша сборка зависит от нативных библиотек, и вы столкнулись с тем, что dll файлы при публикации все равно лежат отдельно, то чтобы это вылечить, в первую секцию .cproj файла нужно добавить опцию:

    true 

    ЛЮДИ! Как сделать EXE файл в Visual Studio?

    Я не тупой и знаю, что exe файл находится в папке с проэктом, но он открывается через отдельную ком. строку. А мне нужно чтоб независимо от есть студия на компе или нет файл exe зарускался. есть способ?

    Голосование за лучший ответ
    Жми на собрать проект, и если нет ошибок то должен собраться ехе файл))

    Если проект на C++, то чтоб он работал на другом компьютере, там надо установить Visual C++ Redistributable (распространяемый пакет)
    https://www.comss.ru/page.php?id=6172
    Проект необходимо (или желательно?) собрать как Release.

    Артем УшаковЗнаток (398) 2 года назад
    необходим файл, который будет работать вне зависимости от наличия студии на пк
    Дед Мазай Гений (58121) Артем Ушаков, я про это и написал
    Нажми f5 случится exe чудо
    Похожие вопросы
    Ваш браузер устарел

    Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *