在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)
2019-11-04 11:53
2186 查看
假设我有一个简单的“ Hello World”控制台应用程序,我想发送给朋友来运行。朋友没有安装.NET Core,所以我知道我需要为他构建一个独立的应用程序。很简单,我只需在项目目录中运行以下命令:
dotnet publish -r win-x64 -c Release --self-contained
朋友是多少位的操作系统,你就标记要发布成什么样子的, --self-contained这个标签的解释自包含,就是说你的相关依赖项与你的应用程序不挂钩,将会产生依赖,缺少一个dll就会缺胳膊少腿。所以这样你就必须将整个文件夹都托给朋友。
看看文件夹里的情况,它会发生什么?293个文件,这直接将.NET Core的运行时也打包了,这非常Nice!不过我这文件真的很多,我很难受!朋友会说:这什么鬼?exe在哪里?
所以.NET Core给我们提供了一个命令标志, dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true 您会注意到,我们不再指定自包含标志。这是因为假设如果您将其打包为单个exe,则将需要它的所有依赖关系。这一定说得通。我们试着去运行该命令。随后打开publish文件,我们发现!这也太干净了吧! 但是文件还是有点大呀,这可只是一个Hello World呀!,我们在思考如何进行优化大小,当然这一点微软也给我们考虑到了!!!
使用命令 dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true 我们拭目以待吧。
不通过DotCli发布可以修改一下项目文件,再通过VisualStudio发布!
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <UseWindowsForms>true</UseWindowsForms> <RuntimeIdentifier>win10-x64</RuntimeIdentifier>//发布平台 <PublishSingleFile>true</PublishSingleFile>//是否单个exe </PropertyGroup> <PropertyGroup> <PublishTrimmed>true</PublishTrimmed>//启用压缩 </PropertyGroup> </Project>
祝.NET Core愈来愈好!
相关文章推荐
- 微软发布.Net Core 3.0 RC1,最终版本定于9月23日
- 发布webservice接口时报错-HTTP Status 500 - File "/axis2-web/listSingleService.jsp" not found
- .NET Core 3.0, 发布将于今晚开始!
- [翻译] .NET Core 3.0 RC 1 发布
- 微软发布 .Net Core 3.0 版重大更新,对开发者来说意味着什么?
- .NET Core 跨平台发布(dotnet publish)
- 阿里P8征婚条件引争议;任正非:华为5G技术独家授权给一家美国公司;.NET Core 3.0正式发布丨Q新闻
- .NET Core 3.0 ,WTM 2.3.9发布
- .NET Core 跨平台发布(dotnet publish)
- 【译】官宣.NET Core 3.0 Preview 7 的发布(英雄的黎明)
- .NET Core 3.0稳定版发布
- .NET Core 3.0-preview3 发布
- 小米推出售价 19999 元的 MIX Alpha;高通已向华为重启供货;.NET Core 3.0 发布 | 极客头条
- 【译】.NET Core 3.0 发布小尺寸 self-contained 单体可执行程序
- .NET Core 3.0 Preview 5 亮点之一:发布单文件可执行程序
- SVN Checkout Single File(SVN签出,更新单个文件)
- .NET Core 跨平台发布(dotnet publish)
- .NET Core 跨平台发布(dotnet publish)
- .net core 发布单个exe 文件, 并优化缩小大小
- Microsoft .NET Framework 3.0发布!!