Развертывание программы C# как утилиты командной строки

Я написал довольно простую программу на C# для автоматической генерации CSV-файлов определенного формата из данных из других электронных таблиц, и я хотел бы развернуть ее как утилиту интерфейса командной строки, то есть файл .exe, который можно запускать вне VS Code. , IDE, которую я использую. У меня установлены инструменты dotnet sdk, и я попытался использовать dotnet msbuild с файлом .csproj ниже:

<Project Sdk = "Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <Configuration>Release</Configuration>
    <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

</Project>

Команда dotnet msbuild в терминале, встроенном в VS Code, создает в bin папку с именем release, которая содержит файл .dll, но не файл .exe. Какие параметры я могу добавить к dotnet msbuild для создания файла .exe, или мне нужно использовать другой инструмент?

Обновлено: я проверил Создать консольное приложение .NET Core для вывода EXE?

и попробовал dotnet publish -c Release -r win10-x64 и получил эту ошибку: Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом.

РЕШЕНИЕ: msbuild был неправильным инструментом - я считаю, что csc - правильный инструмент, поскольку он создал файл приложения.

В чем вопрос? Вы спрашиваете, как создать exe или как сделать его доступным из любого окна командной строки, например из утилиты ping?

Aleks Andreev 14.06.2018 19:16

@AleksAndreev Оба в идеале

JackHannum 14.06.2018 19:17

Возможный дубликат Создать консольное приложение .NET Core для вывода EXE?

Broots Waymb 14.06.2018 19:17

Основные приложения можно запускать с dotnet [your_app].dll. В противном случае вы можете проделать небольшую дополнительную работу, чтобы получить .exe, но обычно в этом нет необходимости.

Broots Waymb 14.06.2018 19:20

@BrootsWaymb Я предполагаю, что у пользователя не будет установлен dotnet sdk, поскольку мне пришлось установить его специально для написания этой программы.

JackHannum 14.06.2018 19:24

@JackHannum - Вы должны опубликовать собственный ответ вместо того, чтобы редактировать его в самом опубликованном вопросе.

Broots Waymb 14.06.2018 21:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
6
435
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

msbuild был неподходящим инструментом - я считаю, что csc - правильный инструмент, поскольку он создал файл приложения.

Другие вопросы по теме