Я написал довольно простую программу на 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 - правильный инструмент, поскольку он создал файл приложения.
@AleksAndreev Оба в идеале
Возможный дубликат Создать консольное приложение .NET Core для вывода EXE?
Основные приложения можно запускать с dotnet [your_app].dll. В противном случае вы можете проделать небольшую дополнительную работу, чтобы получить .exe, но обычно в этом нет необходимости.
@BrootsWaymb Я предполагаю, что у пользователя не будет установлен dotnet sdk, поскольку мне пришлось установить его специально для написания этой программы.
@JackHannum - Вы должны опубликовать собственный ответ вместо того, чтобы редактировать его в самом опубликованном вопросе.





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