В консольном приложении netcoreapp3.0 по умолчанию создается файл myprogram.exe (с расширением exe). Что это? - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть следующий простой проект:

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

 <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <LangVersion>8.0</LangVersion>
 </PropertyGroup>
 </Project>

В netcoreapp3.0:

Когда я запускаю 'dotnet build', я обнаружил, что файл myprogram.dll генерируется с размером 5k, плюс myprogram.exe генерируется с размером 239k

В netcoreapp2.2:

Файл myprogram.exe не создается.

Я могу запустить программу:

    dotnet myprogram.dll

или

    myprogram.exe //it need .netcore be installed.

Почему два файла: myprogram.exe и myprogram.dll генерируются в netcoreapp3.0, а в netcoreapp2.2 генерируется только myprogram.dll?

1 Ответ

0 голосов
/ 21 апреля 2019

С https://devblogs.microsoft.com/dotnet/announcing-net-core-3-preview-1-and-open-sourcing-windows-desktop-frameworks/

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

С этими исполняемыми файлами можно ожидать того же, что и с другими собственными исполняемыми файлами, такими как:

  • Вы можете дважды щелкнуть исполняемый файл.
  • Вы можете запустить приложение из командной строки, не используя инструмент dotnet, используя myconsole.exe в Windows и ./myconsole в Linux и macOS, как вы можете видеть в следующих примерах.

Так что это просто более удобный способ использования программы. Вам не нужно использовать командную строку, такую ​​как dotnet myapp.dll, чтобы запустить приложение. Вы можете запустить exe.

...