首页 > 解决方案 > 将 .NET Core 项目编译为 .exe 文件而不是 .dll 文件

问题描述

我正在尝试创建一个 C# 应用程序(.cs文件)。由于我使用的是Visual Studio Code,因此我必须使用命令行来编译项目,但是当我启动MSBuild时,它会生成一个.dll文件。

MSBuild 版本:15.8.169.51996

这是我的.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <PropertyGroup>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>

    <PackageReference Include="Microsoft.Net.Compilers" Version="3.1.1">

      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>
</Project>

提前致谢!

标签: c#.netmsbuild

解决方案


在 .NET Core 中部署

因为您使用的是netcoreapp正式名称为.NET Core 的 .NET Core,所以这里的情况略有不同。

.NET Core是一个跨平台框架。这意味着您编写的软件将在 Windows、Linux 和 OSX 中执行。你见过.exe在 Linux 上运行吗?不是一般的方式。。

了解了这一点后,您有几种选择:

  1. .dll按预期使用。和 。NET Core,您可以.dll通过命令运行您的dotnet your.dll.
  2. 您可以使用SCD部署并将其设置RuntimeIdentifierwin10-x64.
  3. 您可以升级到.NET Core sdk 2.2 ( netcoreapp2.2) 并使用FDE部署。

推荐阅读