我有一个C#.NET Core 2.0控制台应用程序。我想部署它,因此它是一个.exe
个文件,.dll
中包含所有关联的.exe
。
这可能吗?
我想要这样做的原因是我已经制作了几个控制台应用程序,我想将它们放在同一个文件夹中,这样只需要1个路径条目就可以从命令行使用它们。
如果我使用dotnet publish -c Release -r win10-x64
发布,我会收到.exe
,但我也会收到大量其他文件。
是否有将所有这些关联文件移动到命名子文件夹或将它们全部包装在一个文件中?
答案 0 :(得分:4)
不,现在.NET Core不支持生成包含整个应用程序的单个.exe。
当您阅读log-%{header.remoteName}-2018-04-22
个应用时,请不要感到困惑。自包含意味着通过指定目标运行时(如self-contained
)为特定操作系统发布应用程序,这样就不允许将.NET Core作为目标计算机中的共享运行时。
答案 1 :(得分:3)
您可以在BoxedApp的帮助下将应用程序打包为单个可执行文件。 Here is a guide上的操作方法
答案 2 :(得分:1)
有一个名为Warp的工具,可将程序包包装到一个应用程序文件中。
(并且希望它会在.NET Core 3+中作为单文件功能受支持:
https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md)
答案 3 :(得分:0)
我知道这个问题已有几年历史了,但是现在终于可以使用.NET Core了。
您可以通过两种不同的方式实现这一目标
1.Package Manager控制台
dotnet发布-r win-x64 -c版本/ p:PublishSingleFile = true
您可以从下面的链接中找到更多信息
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/