c# - 将 .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>
提前致谢!
解决方案
在 .NET Core 中部署
因为您使用的是netcoreapp
正式名称为.NET Core 的 .NET Core,所以这里的情况略有不同。
.NET Core是一个跨平台框架。这意味着您编写的软件将在 Windows、Linux 和 OSX 中执行。你见过.exe
在 Linux 上运行吗?不是一般的方式。。
了解了这一点后,您有几种选择:
推荐阅读
- swift - 我可以在没有 Cognito 的情况下在 iOS 应用程序中使用 AWS SNS
- python - 使用 CSV 列在文本文件中搜索和替换
- next.js - next.js 图像未呈现
- python - 如何使 nginx - supervisor restart gunicorn 在更改后反映新代码?
- react-native - React-Native 与 FTP
- android - Android Paging 3导致重复行
- java - 如何使用给定的上下文和布局资源 ID 在 HarmonyOS 中扩展布局?
- javascript - JS:按最近的时间戳排序
- reactjs - 在 React 中渲染 Threejs 使我在 HTML 中的根元素消失
- excel - 通过 VBA 减去:C 列中的行值 = A 列中的行值 - B 列中的行值