Где exe файл visual studio
Перейти к содержимому

Где exe файл visual studio

  • автор:

Где находится exe файл программы C# под Visual Studio?

Поставлена последняя версия VS Community 2019. Компилирую простенькую консольную программу. Собственно, везде написано, что exe файл должен находиться в папке bin\Debug\netcoreapp2.1 , или же в Release (в зависимости от режима). Но как я не пытался (запуск приложения, сборка, стройка), исполняемого файла в данной папке нету. В этой папке только какие-то файлы с расширением .pdb .json .dll И вообще его нигде нету. Программа то запускается в VS, но исполняемый файл куда-то запрятан. Вопрос: куда?

Отслеживать

3,738 1 1 золотой знак 20 20 серебряных знаков 47 47 бронзовых знаков

Как открыть exe в visual studio

No Image

exe – это скомпилированный бинарный запускаемый код.. .

посмотреть его можно только отладчиком или дизассемблером.. .

но, чтобы в этом разобраться – нужно учиться.. . лет десять ��

The Codeby
ООО Кодебай

Как изменить код программы, если потерян исходник

Бывают ситуации, когда под рукой нет исходника, а Вам срочно требуется внести изменения в коде, написанной ранее Вами программы. Например, дано приложение «TextEdit.exe» — текстовый редактор, написанный на языке c#, который имеет простой пользовательский интерфейс, состоящий из двух кнопок и текстового поля.

При нажатии на кнопку “Чтение” из файла 1.txt считываются и выводятся все строки в окно элемента управления textBox, а при нажатии на кнопку “Запись” данные из текстового поля сохраняются в файле 2.txt

Для хранения путей в программе используются две текстовых переменных: filePathIn и filePathOut

Прошёл год, как программа была написана и отдана заказчику, но вдруг ему потребовалось изменить имя папки, в которой должны храниться оба файла, c 123 на Text. Задача простая, но прошло уже много времени, и исходник был потерян, что делать в такой ситуации?

Для начала вспомним, как образуется .NET сборка

Полученный в результате компиляции файл (сборка) содержит внутри себя метаданные, манифест, код на языке IL (MSIL).

Метаданные — описывают типы данных и их члены

Манифест описывают саму сборку

MSIL код, полученный в результате компиляции файла исходного кода

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

Данный инструмент входит состав пакета .Net Framework SDK, который является бесплатным и устанавливается вместе с Visual Studio (включая Express версию). С помощью него вы можете, как просматривать внутреннее содержимое сборки, так и изменять его.

Для удобства работы создадим отдельную папку, например: ”c:
ewasm” и поместим в неё файл TextEdit.exe

Затем в меню “Пуск” открываем папку: «Visual Studio Tools»

Запускаем командную строку разработчика

Откроется консоль, вводим первую команду: ildasm. Для выполнения команды нажмите клавишу Enter.

Появиться главное окно программы.

Переместим файл сборку TextEdit.exe в окно дизассемблера ILASM, в результате отобразиться её внутреннее содержимое.

Убедимся, что в ней содержатся нужные нам данные (пути к файлам).

Два поля на месте, теперь взглянем на метаданные.

Для доступа к метаданным Вы так же можно использовать сочетание горячих клавиш: Ctrl+M. Затем с помощью кнопки Find, найдём имя одного из файлов.

Как видно присутствуют оба. Пути найдены, и теперь их нужно изменить, но все данные, в текущий момент, доступны только для просмотра, и изменить их в самой дизассемблере нельзя, поэтому воспользуемся второй возможностью данной программы и выгрузим содержимое сборки в файл.

Читайте также: Просмотр эксель файлов на андроид

Выберите пункт меню File -> Dump

Появится меню. В данном примере, все пункты меню оставим без изменений и просто нажмём кнопку OK.

Появится диалоговое окно

Выберем ранее созданную папку “newasm”, затем укажем имя и тип файла и нажмём на кнопку “Сохранить”

В результате в папке “newasm” должно появиться несколько новых файлов

Закрываем окно ildasm, а так же удаляем файл Textedit.exe, больше он нам не понадобиться. Теперь нас интересует полученный файл texted.il и для начала откроем его любым текстовым редактором, например блокнотом.

Снова воспользуемся поиском (Ctrl+F)

Так же видим найденные строки, которые содержат пути к файлам.

Изменим текущее имя папки 123 на новое название Text, для обоих файлов

Сохраняем внесённые изменения и закрываем блокнот.

Изменения внесены и теперь нужно преобразовать файл txted.il обратно в исполняемый файл (.exe) Для этого нам понабиться второй инструмент ILASM, ассемблер, который так же входит в состав пакета SDK и не требует отдельной установки.

Возвращаемся в консоль

Вводим вторую команду:

Первый параметр: /exe — указывает компилятору, что на выходе мы хотим получить файл с расширением .exe. Затем указываем файл, который содержит MSIL-код. С помощью второго параметра /output — указываем имя и расширение нового файла.

Если компиляции прошла успешно, то в окне консоли вы должны увидеть сообщение, которое выделено на картинке, а внутри папке “newasm” должен появиться новый файл TextEdit.exe, который теперь уже содержит новые пути к файлам.

Вот таким не сложным способом можно выйти из данной ситуации, при этом не имея исходника под рукой.

Вложения

The Codeby
ООО Кодебай

Сергей
Четверг на 02:09
Здравствуйте, когда пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно» что это? и можно как нибудь исправить?

admin
Пятница на 10:09
Программа (файл) на каком языке написана?

Иван
Суббота на 10:09
Добрый день. Такая же ситуация. Пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно». Файл написан на Delphi.

admin
Воскресенье на 09:09
Привет.
Эта утилита предназначена только для просмотра кода написанного на языке IL (MSIL) — это промежуточный язык, в который компилируется код .NET языков. Полученный в результате компиляции файл (сборка) содержит CLR заголовок. Затем, во время запуска приложения, выполняется вторая компиляция, которая превращает полученный код IL в машинный.

В дельфи сборка не содержит CLR заголовок и код, если не ошибаюсь, сразу преобразуется в машинный.

Иван
Понедельник на 12:09
А как-то нормально можно посмотреть код, если есть уже окончательный exe и несколько dll проекта?

Читайте также: Горячие клавиши поиск на странице сайта

admin
Понедельник на 09:09 ПП
Что значит «нормально посмотреть код» ?

Иван
Среда на 03:09 ПП
Ну чтобы взять код себе в другой проект

admin
Четверг на 11:09
Есть вроде какие-то, но не помню названия, потому что не использую их.

Анатолий
Четверг на 12:02 ПП
Можете, помочь как я хочу переписать лаунчер для игры, что бы изменить проверку файлов но не могу никак открыть его. Пробывал через ресторатор 2007 но оно не может прочитать пату файлов точнее отобразить язык.

Вы можете выполнить отладку приложения (.exe файл), не входит в состав решения Visual Studio. You may want to debug an app (.exe file) that isn’t part of a Visual Studio solution. Вы или кто-то другой может созданные приложения вне Visual Studio, или приложения, полученный из где-то еще. You or someone else may have created the app outside of Visual Studio, or you got the app from somewhere else.

Обычно для отладки приложения, которое не существует в Visual Studio — запустить приложение вне Visual Studio, а затем подключите к ней с помощью присоединение к процессу в отладчике Visual Studio. The usual way to debug an app that doesn’t exist in Visual Studio is to start the app outside of Visual Studio, and then attach to it using Attach to Process in the Visual Studio debugger. Дополнительные сведения см. в разделе присоединение к выполняемым процессам. For more information, see Attach to running processes.

Подключение к приложению требует ручного действия, которые принимают несколько секунд. Attaching to an app requires manual steps that take a few seconds. Из-за этой задержки присоединение не поможет, отладка проблемы запуска, или приложение, которое не ожидает от пользователя ввода и быстро завершается. Because of this delay, attaching won’t help debug a startup issue, or an app that doesn’t wait for user input and finishes quickly.

В таких ситуациях можно создать проект Visual Studio EXE для приложения или импортировать его в существующую коллекцию C#, Visual Basic или C++ решения. In these situations, you can create a Visual Studio EXE project for the app, or import it into an existing C#, Visual Basic, or C++ solution. Не все языки программирования поддерживают исполняемые проекты. Not all programming languages support EXE projects.

Возможности отладки для приложения, которое не был собран в Visual Studio ограничены ли вы подключите к приложению, или добавьте в решение Visual Studio. Debugging features for an app that wasn’t built in Visual Studio are limited, whether you attach to the app or add it to a Visual Studio solution.

Читайте также: Разделить на слоги слово земля

Если у вас есть исходный код, лучше всего импортировать код в проект Visual Studio. If you have the source code, the best approach is to import the code into a Visual Studio project. Затем запустите отладочную сборку приложения. Then, run a debug build of the app.

Если у вас нет исходного кода, и приложение не имеет отладочная информация в формате, совместимом, доступные возможности отладки очень мало. If you don’t have the source code, and the app doesn’t have debug information in a compatible format, available debugging features are very few.

Чтобы создать новый проект EXE для существующего приложения To create a new EXE project for an existing app

В Visual Studio выберите файл > откройте > проекта. In Visual Studio, select File > Open > Project.

В Открытие проекта выберите все файлы проекта, если еще не выбран, в раскрывающемся списке рядом с полем имя файла. In the Open Project dialog box, select All Project Files, if not already selected, in the dropdown next to File name.

Перейдите к .exe файл, выберите его и выберите откройте. Navigate to the .exe file, select it, and select Open.

Файл появится в новой, временные решения Visual Studio. The file appears in a new, temporary Visual Studio solution.

Начните отладку приложения, выбрав команду выполнения, например начать отладку, из Отладка меню. Start debugging the app by selecting an execution command, like Start Debugging, from the Debug menu.

Чтобы импортировать приложение в существующее решение Visual Studio To import an app into an existing Visual Studio solution

С помощью C++, C#, или выберите решение Visual Basic в Visual Studio файл > добавить > существующий проект. With a C++, C#, or Visual Basic solution open in Visual Studio, select File > Add > Existing Project.

В Открытие проекта выберите все файлы проекта, если еще не выбран, в раскрывающемся списке рядом с полем имя файла. In the Open Project dialog box, select All Project Files, if not already selected, in the dropdown next to File name.

Перейдите к .exe файл, выберите его и выберите откройте. Navigate to the .exe file, select it, and select Open.

Файл отображается как новый проект в текущее решение. The file appears as a new project under the current solution.

С новым файлом выбран, начните отладку приложения, выбрав команду выполнения, например начать отладку, из Отладка меню. With the new file selected, start debugging the app by selecting an execution command, like Start Debugging, from the Debug menu.

Использование параметров командной строки для установки, обновления и управления Visual Studio

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

При установке Visual Studio программно или из командной строки вы можете использовать различные параметры командной строки, чтобы контролировать процесс и настроить его на выполнение следующих действий:

  • запуск установки на клиенте с рядом предварительно выбранных параметров и действий;
  • автоматизация процесса установки или обновления;
  • создание и поддержка сетевого макета файлов продукта для установки или обновления клиентских компьютеров.

Команды командной строки и параметры, описанные ниже, предназначены для использования со следующими исполняемыми файлами или программами:

  • Загрузчик установки, который является небольшим (~1 МБ) файлом (например, vs_enterprise.exe), который инициирует процесс скачивания.
  • Установщик Visual Studio, который уже может быть установлен на компьютере и находится в папке C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe . Обратите внимание, что вы не можете программно инициировать установщик из того же каталога, в котором находится установщик.
  • С помощью команды winget с помощью переключателя —override winget.
  • С пакетом обновления Администратор istrator, который доступен для скачивания из каталога центра обновления Майкрософт, чтобы программно обновить макет сети. Дополнительные сведения о том, как это сделать, можно найти в статье об обновлении или изменении макета .

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

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

Выпуск Загрузчика
Visual Studio 2019 Enterprise версии 16.11 vs_enterprise.exe
Visual Studio 2019 Professional версии 16.11 vs_professional.exe
Visual Studio 2019 Build Tools версии 16.11 vs_buildtools.exe

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

Выпуск Загрузчика
Visual Studio 2022 Enterprise vs_enterprise.exe
Visual Studio 2022 Professional vs_professional.exe
Visual Studio 2022 Community vs_community.exe
Visual Studio 2022 Build Tools vs_buildtools.exe

Если вы ранее скачали файл начального загрузчика и хотите проверить его версию, вот как это сделать. В Windows откройте проводник, щелкните правой кнопкой мыши файл начального загрузчика, выберите Свойства, перейдите на вкладку Подробно, а затем найдите номер в строке Версия продукта. Чтобы сопоставить этот номер с выпуском Visual Studio, см. таблицу в нижней части страницы Выпуски Visual Studio 2019.

Если вы ранее скачали файл начального загрузчика и хотите проверить, какую версию он установит, см. следующие инструкции. В Windows откройте проводник, щелкните правой кнопкой мыши файл начального загрузчика, выберите Свойства и перейдите на вкладку Подробности. Поле Версия продукта отобразит канал и версию, которые установит начальный загрузчик. Номер версии следует читать как «последняя обслуживаемая конкретная версия», а канал является текущим, если явно не указано иное. Таким образом, начальный загрузчик с версией продукта канала LTSC 17.0 установит последний обслуживаемый выпуск 17.0.x, доступный на канале LTSC 17.0. Начальный загрузчик с версией продукта, указанной как «Visual Studio 2022», установит последнюю версию Visual Studio 2022 с текущего канала.

Команды установки, обновления, изменения, удаления и экспорта и параметры командной строки

При программном вызове начального загрузчика или установщика Visual Studio для установки продукта или поддержки макета первым параметром является команда, которая описывает выполняемую операцию. Последующие параметры командной строки начинаются с двух дефисов (—) и являются необязательными. Они определяют, как именно должна выполняться эта операция. Все параметры командной строки Visual Studio не учитывают регистр. Другие примеры можно найти на странице Примеры параметров командной строки.

Пример синтаксиса: vs_enterprise.exe [command] .

Command Description
(пусто) Команда по умолчанию устанавливает продукт и используется для всех операций обслуживания макета.
modify Изменяет установленный продукт.
update Обновляет установленный продукт.
updateall Обновления все установленные продукты в последовательном порядке. Работает с —quiet и —passive параметрами.
repair Восстанавливает установленный продукт.
uninstall Удаляет установленный продукт.
export экспорт выбранного компонента установки в файл конфигурации установки.

При указании множества разных рабочих нагрузок, компонентов или языков необходимо повторять параметр командной строки —add или —remove для каждого элемента.

Параметры Description
—installPath

Для команды установки по умолчанию этот параметр является необязательным и описывает, где будет установлен экземпляр на клиентском компьютере. Для других команд, таких как update или modify, этот параметр является обязательным и определяет каталог установки для экземпляра.
—add

Необязательно. В команде install или modify этот параметр (который можно указывать многократно) задает идентификаторы рабочих нагрузок и компонентов для добавления. Необходимые компоненты артефакта установлены, однако не установлены рекомендуемые или необязательные компоненты. Дополнительными компонентами можно управлять глобально с помощью параметров —includeRecommended и —includeOptional . Чтобы включить несколько рабочих нагрузок или компонентов, повторите команду —add (например, —add Workload1 —add Workload2 ). Для более детального контроля можно добавить к идентификатору ;includeRecommended или ;includeOptional (например, —add Workload1;includeRecommended или —add Workload2;includeRecommended;includeOptional ). Дополнительные сведения см. в статье о рабочей нагрузке и идентификаторах компонента.
—remove

Необязательно. В команде modify этот параметр (который можно указывать многократно) задает идентификаторы рабочих нагрузок и компонентов для удаления. Он дополняет параметр —add и действует схожим образом.
—addProductLang

Обязательно. В команде install или modify этот параметр (который можно указывать многократно) задает языковые пакеты пользовательского интерфейса для установки вместе с продуктом. Если он отсутствует, при установке используется языковой пакет, который соответствует языковому стандарту компьютера. Дополнительные сведения см. в разделе Список языковых стандартов на этой странице.
—removeProductLang

Обязательно. В команде install или modify этот параметр (который можно указывать многократно) задает языковые пакеты пользовательского интерфейса, которые необходимо удалить из продукта. Он дополняет параметр —addProductLang и действует схожим образом.
—in

Необязательно. Универсальный код ресурса (URI) или путь к файлу ответов, который может содержать параметры конфигурации.
—all Необязательно. В команде install или modify этот параметр обеспечивает установку всех рабочих нагрузок и компонентов продукта.
—allWorkloads Необязательно. В команде install или modify этот параметр устанавливает все рабочие нагрузки и компоненты, кроме рекомендуемых или необязательных компонентов.
—includeRecommended Необязательно. В команде install или modify этот параметр добавляет рекомендуемые компоненты для устанавливаемых рабочих нагрузок, но не включает необязательные компоненты. Рабочие нагрузки указываются с помощью параметра —allWorkloads или —add .
—includeOptional Необязательно. В команде install или modify этот параметр добавляет необязательные компоненты для устанавливаемых рабочих нагрузок, но не включает рекомендуемые компоненты. Рабочие нагрузки указываются с помощью параметра —allWorkloads или —add .
—quiet, -q Необязательно. Этот параметр используется с любой командой и скрывает пользовательский интерфейс во время ее выполнения. Недоступно для программного использования стандартными пользователями.
—passive, -p Необязательно. Этот параметр обеспечивает отображение пользовательского интерфейса в неинтерактивном режиме. Этот параметр исключает и фактически переопределяет параметр —quiet . Кроме того, недоступно для программного использования стандартными пользователями.
—norestart Необязательно. Этот параметр должен использоваться в паре с параметром —passive или —quiet . Добавление параметра —norestart в команды install, update или modify задерживает требуемую перезагрузку.
—force Необязательно. Этот параметр принудительно закрывает Visual Studio, даже если какой-то процесс этой среды еще используется. Принудительное завершение работы Visual Studio может привести к потере работы, поэтому используйте этот процесс с осторожностью.
—installWhileDownloading Необязательно. В командах install, update или modify этот параметр позволяет Visual Studio параллельно скачивать и устанавливать продукт. Это поведение по умолчанию.
—downloadThenInstall Необязательно. В командах install, update или modify этот параметр требует Visual Studio загружать все файлы перед их установкой. Он является взаимоисключающим по отношению к параметру —installWhileDownloading .
—channelUri Необязательно. Во время команды обновления можно передать новый channelUri, чтобы изменить расположение параметров обновления. Рекомендуется использовать вместе с параметром —installPath, чтобы было ясно, какой экземпляр Visual Studio настраивается. См. примеры синтаксиса —channelUri
—channelId

Идентификатор канала, представленный следующим образом VisualStudio.17.Release . См . примеры синтаксиса —channelId. Это необходимо для modify операций, а —productID также для операций или —installPath .
—productId

Необязательный: идентификатор продукта для экземпляра, который будет изменен и использован в сочетании с —channelId . Параметр productID — это что-то вроде «Microsoft.VisualStudio.Product.Enterprise».
—nickname

Необязательно. В команде install этот параметр определяет псевдоним, присваиваемый устанавливаемому продукту. Длина псевдонима не может превышать 10 символов.
—productKey Необязательно. В команде install этот параметр определяет ключ устанавливаемого продукта. Он состоит из 25 букв и цифр в формате xxxxxxxxxxxxxxxxxxxxxxxxx .
—removeOos true Необязательно. Во время установки, обновления или изменения команды этот параметр (который должен иметь слово true или false сразу после него) сообщает установщику Visual Studio удалить (или не удалить) все установленные компоненты, которые перешли в состояние вне поддержки. Это поведение применимо к одному событию. Если вы хотите сделать это поведение постоянным, примените этот параметр к команде modify Параметры, описанной ниже, или настройте глобальную политику removeOOS. Полезно для обеспечения безопасности компьютера.
—config

Необязательно. В операции install или modify этот параметр определяет добавляемые рабочие нагрузки и компоненты на основе ранее сохраненного файла конфигурации установки. Эта операция является аддитивной и не удаляет никакие рабочие нагрузки или компоненты, отсутствующие в файле. Кроме того, элементы, которые не относятся к этому продукту, не добавляются. Во время операции экспорта этот параметр определяет расположение для сохранения файла конфигурации установки.
—help, —?, -h, -? Отображает автономную версию этой страницы.

Команда и параметры командной строки для макета

Все операции управления макетом выполняются с использованием исполняемого файла начального загрузчика и предполагают, что независимо от того, идет ли создание или обновление макета, используется команда установки по умолчанию (пустая). В связи с этим все операции управления макетом должны начинаться с обязательного параметра —layout . В приведенной ниже таблице описаны другие параметры, которые могут быть использованы для создания или изменения макета с помощью командной строки.

Изменение Параметры параметров командной строки и командной строки

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

Command Description
modifySettings Команда, используемая для изменения параметров обновления определенного экземпляра Visual Studio.
Параметры modifySettings Description
—installPath

Рекомендуется использовать для указания экземпляра Visual Studio для работы.
—newChannelUri Обязательно. Универсальный код ресурса (URI) манифеста канала. Это значение указывает, где будут находиться следующие исходные расположения обновлений. Дополнительные значения см. в примерах синтаксиса —channelUri . Если обновления нежелательны, —channelUri может указывать на несуществующий файл (например, —channelUri C:\doesntExist.chman).
—channelUri Универсальный код ресурса (URI) старого манифеста канала. Может использоваться, если параметр —installPath неизвестен. Должен использоваться в сочетании с productID, чтобы указать нужный экземпляр для работы.
—productId

Должен использоваться, если указан параметр —channelUri; используется для указания нужного экземпляра для работы. Параметр productID — это что-то вроде «Microsoft.VisualStudio.Product.Enterprise».
—quiet, -q Необязательно. Этот параметр скрывает пользовательский интерфейс во время ее выполнения. Недоступно для программного использования стандартными пользователями.
—removeOos true Необязательно. При изменении Параметры команде этот параметр (который должен иметь слово true или false сразу после него) сообщает установщику Visual Studio постоянно удалять (или не удалять) все установленные компоненты, которые перешли в состояние вне поддержки. Полезно для обеспечения безопасности компьютера.
C:\>"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modifySettings --installPath "C:\Program Files\Microsoft\Visual Studio\2022\Enterprise" --newChannelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --removeOos true 
 C:\>"C:\Program Files\Microsoft\Visual Studio\2022\Enterprise\vs_enterprise.exe" modifySettings --channelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --productID Microsoft.VisualStudio.Product.Enterprise --newChannelUri \\layoutserver\share\path\channelmanifest.json --removeOos true --quiet 

Параметры команды отката и командной строки

Вы можете выполнить откат обновления программным способом с помощью установщика на клиентском компьютере и передать команду отката вместе с экземпляром пути установки.

Command Description
rollback Команда для отката определенного экземпляра Visual Studio в ранее установленное обновление. Эта команда не будет работать, если включена DisableRollback эта команда.
Параметры отката Description
—installPath

Рекомендуется использовать для указания экземпляра Visual Studio для работы.
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" rollback -–installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" 

Команда и параметры командной строки для обновлений администратора

Вы можете загрузить обновление администратора из каталога Центра обновления Майкрософт и использовать его для обновления установки клиента или макета.

Обновление макета

Если вы обновляете макет до определенной версии Visual Studio, просто скачайте обновление Администратор istrator на компьютер, на котором размещен макет, откройте командную строку на этом компьютере и выполните следующую команду:

visualstudioupdate-17.0.0to17.1.5.exe layout --layoutPath c:\VSLayout 

Обновление клиента

Если вы загружаете обновление администратора из каталога Центра обновления Майкрософт в каталог установки на клиентском компьютере, на клиенте можно просто дважды щелкнуть файл, чтобы применить обновление. Для изменения действий по умолчанию можно открыть окно командной строки и передать какие-то из параметров ниже.

Настройка обновления Администратор istrator в SCCM

При развертывании обновления администратора с помощью Microsoft Endpoint Manager (SCCM) можно изменить пакет, чтобы настроить поведение с помощью приведенных ниже параметров. Управлять параметрами также можно через файл конфигурации на клиентском компьютере. Дополнительные сведения см. в разделе Способы настройки обновления администратора

Обратите внимание, что все параметры обновления администратора по умолчанию выполняются в контексте «update», если не указана команда макета.

Пример синтаксиса для передачи параметров в обновление Администратор istrator:

visualstudioupdate-16.9.0to16.9.4.exe --installerUpdateArgs=--force,--noWeb,--keepWindowsUpdateOn --checkPendingReboot 

Удаление параметров команды канала и командной строки

Каналы, доступные для обновления, кэшируются на клиенте, и с течением времени они могут загромождать вещи. Каналы обновления можно удалить вручную, разместив установщик Visual Studio, переключившись на вкладку «Доступно» и щелкнув X в правом верхнем углу продукта карта. Вы можете программно удалить каналы (например, старые расположения макета removeChannel ) с помощью команды. Вы можете запускать vswhere программным способом на клиентском компьютере, чтобы определить, какие каналы кэшируются на клиентском компьютере.

Command Description
removeChannel Команда для удаления канала с клиентского компьютера.
removeChannel parameters Description
—channelUri Обязательный универсальный код ресурса (URI) старого манифеста канала.
—quiet Необязательный параметр Этот параметр предотвращает отображение пользовательского интерфейса во время выполнения команды.
—passive Необязательный параметр переопределяет —quiet параметр. Он обеспечивает отображение пользовательского интерфейса в неинтерактивном режиме.
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" removeChannel --channelUri "\\\\server\\share\\layoutdirectory\\ChannelManifest.json" 

Установка или изменение Visual Studio с помощью winget

Средство Диспетчер пакетов Windows winget можно использовать для программной установки, изменения или обновления Visual Studio на компьютере вместе с другими пакетами, управляемыми winget.

По умолчанию winget просто устанавливает основную рабочую нагрузку Visual Studio.

winget install --id Microsoft.VisualStudio.2022.Community 

Однако если вы хотите настроить установку и указать дополнительные рабочие нагрузки и компоненты для получения во время начальной установки, можно использовать параметр winget вместе с командой Winget —override install и передать экспортируемый vsconfig-файл , содержащий рабочие нагрузки и компоненты, которые необходимо добавить:

winget install --id Microsoft.VisualStudio.2022.Community --override "--passive --config c:\my.vsconfig" 

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

 winget install --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.Visualstudio.Workload.Azure" 

Невозможно использовать —override переключатель или поставщик Visual Studio DSC вместе с командой Winget upgrade , так как upgrade , по сути, просто действует как операция обновления Visual Studio и устанавливает последнюю версию компонентов, которые вы уже выбрали. Невозможно добавить компоненты с помощью обновления или обновления. Необходимо использовать winget configure для добавления компонентов.

Обратите внимание, что в настоящее время для операций установщика Visual Studio требуются права администратора, поэтому winget предложит вам повысить привилегии при необходимости для выполнения команды. Кроме того, в настоящее время невозможно использовать winget для установки нескольких выпусков (то есть разных номеров SKU) или нескольких экземпляров одного номера SKU одновременно на клиентском компьютере. Наконец, Visual Studio должен быть закрыт, если вы собираетесь настроить (изменить) его для добавления компонентов или обновления до последней версии.

Список идентификаторов рабочих нагрузок и компонентов

Список идентификаторов рабочих нагрузок и компонентов, отсортированный по продуктам Visual Studio, см. на странице Идентификаторы рабочих нагрузок и компонентов Visual Studio.

Список языковых стандартов

Язык-языковой стандарт Язык
Cs-cz Чешский
De-de немецкий
En-us Английский
Es-es Испанский
Fr-fr французский
It-it Итальянский
Ja-jp Японский
Ko-kr Корейский
Pl-pl Польский
Pt-br Португальский — Бразилия
Ru-ru русском языке
Tr-tr Турецкий
Zh-cn Китайский (упрощенное письмо)
Zh-tw Китайский — традиционное письмо

Коды ошибок

В зависимости от результата операции переменной среде %ERRORLEVEL% присваивается одно из следующих значений:

Стоимость Результат
0 Операция выполнена успешно.
740 Требуется повышение прав
1001 Процесс установки Visual Studio сейчас выполняется.
1003 Visual Studio сейчас используется.
1602 Операция отменена
1618 Запущена другая установка
1641 Операция успешно завершена; начата перезагрузка
3010 Операция выполнена успешно, но перед началом работы необходимо выполнить перезагрузку.
5003 Не удалось скачать установщик в начальном загрузчике
5004 Операция отменена
5005 Ошибка синтаксического анализа командной строки начального загрузчика
5007 Операция была заблокирована — компьютер не соответствует требованиям
8001 Сбой проверки компьютера ARM
8002 Сбой предварительной проверки фоновой загрузки
8003 Сбой неподдерживаемого выделения
8004 Сбой целевого каталога
8005 Сбой проверки исходных полезных данных
8006 Выполняются процессы Visual Studio
8010 Операционная система не поддерживается. Сведения о требованиях к системе
-1073720687 Сбой подключения
–1073741510 Работа установщика Microsoft Visual Studio была прервана (пользователем или внешним процессом)
Другой
(например,
–1, 1, 1603)
Произошел сбой — проверьте журналы для получения дополнительных сведений

Каждая операция создает в каталоге %TEMP% несколько файлов журнала, которые показывают ход выполнения установки. Отсортируйте содержимое папки по дате и найдите файлы, которые начинаются с dd_bootstrapper , dd_client и dd_setup (для программы начальной загрузки, установщика и модуля установки соответственно).

Поддержка или устранение неполадок

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

Ниже приведены несколько дополнительных вариантов:

  • Доступен чат по вопросам установки, где можно получить поддержку при проблемах с установкой (только на английском языке).
  • Вы можете сообщить о проблемах с продуктом, используя средство Сообщить о проблеме. Оно доступно как в Visual Studio Installer, так и в IDE Visual Studio. Если вы являетесь ИТ-администратором и у вас не установлена программа Visual Studio, вы можете отправить отзыв ИТ-администратора здесь.
  • Вы можете предлагать новые функции, просматривать описания проблем и искать решения в сообществе разработчиков Visual Studio.

См. также

  • Примеры параметров командной строки для установки Visual Studio 2017
  • Создание автономной установки Visual Studio
  • Автоматизация установки Visual Studio с помощью файла ответов
  • Идентификаторы рабочих нагрузок и компонентов Visual Studio

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

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

Отслеживать
47.7k 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 

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

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