Visual Studio无法将.NET Core 2.0生成为exe文件

5

如果我在Visual Studio中有一个基本的C#程序,例如

public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}

我在Visual Studio中构建项目时,得到的是一个.dll文件而不是.exe文件。我已经查看了项目的属性页面,输出类型设置为控制台应用程序。我也尝试过将其设置为Windows应用程序和类库,但它们都会创建一个dll文件。如果有关系的话,我的目标框架是.NET Core 2.0。不确定还有什么其他原因导致这种情况。


尝试将配置管理器设置为发布模式。同时尝试按下Ctrl+F5。这将使程序在没有调试的情况下运行。希望exe文件会生成在bin\release\***.exe下。 - Rishav
当然,确保它是一个控制台应用程序。就像这样 - Rishav
3
可能是Build .NET Core console application to output an EXE?的重复问题。 - SᴇM
2个回答

6
你可以尝试以下步骤:
第一步。右键单击项目,然后单击发布 enter image description here 第二步。选择文件夹->点击发布(或创建配置文件,也可以) enter image description here 第三步。单击配置->部署模式:自包含->运行时目标:win-x64->单击保存 enter image description here 第四步。单击发布,您将在目标位置下找到.exe文件 enter image description here 顺便提一下,你也可以在FolderProfile.pubxml中查看详细信息。希望这能帮到你。 :) 在此输入图片描述

更新:我的环境信息:

  1. Visual Studio 2017(15.7.1)
  2. .NET Core 2.0


虽然这样可以工作,但它并没有回答为什么我们需要发布项目,因为构建本身应该会创建它,对吧?或者Dotnet Core希望我们将其作为DLL运行? - Avi

-1

.NET Core 的目标是平台无关性。因此,会创建一个 .dll 文件。您可以在控制台中使用 dotnet ConsoleApp1.dll 调用它。

如果您想要一个 Windows 可执行文件,则需要创建一个针对 UWP 或 .NET Framework 的项目。如果您想要创建一个具有通用平台无关代码的库,则我建议将所有逻辑都托管在这个 .NET Core DLL 中,并创建一个针对 .NET Framework 的第二个项目,只需调用 .NET Core DLL 即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接