繁体   English   中英

使 .net 核心控制台应用程序成为单个 .exe

[英]Make .net core console app a single .exe

我有一个 C# .NET Core 2.0 控制台应用程序。 我想部署它,所以它是一个.exe文件,所有关联的.dll包含在.exe

这可能吗?

我想这样做的原因是我制作了几个控制台应用程序,我想把它们放在同一个文件夹中,这样只需要 1 个路径条目就可以从命令行使用它们。

如果我使用dotnet publish -c Release -r win10-x64发布,我会得到一个.exe但也会得到很多其他文件。

有没有办法将所有这些关联的文件移动到一个命名的子文件夹中,或者将它们全部包装在一个文件中?

不,现在 .NET Core 不支持生成包含整个应用程序的单个 .exe。

当您阅读有关self-contained应用程序的信息时,请不要感到困惑。 自包含意味着通过指定目标运行时(如-r win10-x64 )为特定操作系统发布应用程序,这允许不将 .NET Core 作为目标机器中的共享运行时。

您可以在 BoxedApp 的帮助下将应用程序打包到单个可执行文件中。 这是有关如何执行此操作的指南

有一个名为Warp的工具可以将包打包到一个应用程序文件中。

(希望它会在 .NET Core 3+ 中作为单文件功能得到支持:
https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md )

我知道这个问题已经有几年了,但现在终于,这可以通过 .NET Core 实现。

您可以通过两种不同的方式实现这一目标

1.包管理控制台

dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true

  1. 发布应用

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

您可以从以下链接中找到更多信息

https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file

https://dotnetcoretutorials.com/2019/06/20/publishing-a-single-exe-file-in-net-core-3-0/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM