在netcoreapp3.0控制台应用程序中,默认情况下会生成myprogram.exe(带有扩展名exe)。它是什么?

时间:2019-04-20 22:04:45

标签: c# .net-core console-application

我有以下简单项目:

<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.

为什么在netcoreapp3.0中生成两个文件:myprogram.exe和myprogram.dll,但是在netcoreapp2.2中仅生成myprogram.dll?

1 个答案:

答案 0 :(得分:0)

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

  

.NET Core应用程序现在带有可执行文件。这是使用.NET Core全局安装版本的应用程序的新增功能。到目前为止,只有独立的应用程序具有可执行文件。您可以看到以下示例中生成的可执行文件。

     

对于这些可执行文件,您可以期望与其他本机可执行文件具有相同的效果,例如:

     
      
  • 您可以双击可执行文件。
  •   
  • 您可以从命令提示符启动应用程序,而无需使用dotnet工具,在Windows上使用myconsole.exe,在Linux和macOS上使用./myconsole,如以下示例所示。
  •   

因此,这只是使用该程序的一种更方便的方法。您不需要使用诸如dotnet myapp.dll之类的命令行来启动应用程序。您可以运行exe。