码迷,mamicode.com
首页 > Web开发 > 详细

为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

时间:2018-10-26 22:05:41      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:png   tar   微软   ref   执行文件   项目   选项   指令   选择   

项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布:

技术分享图片

技术分享图片

结果发布后生成的是一个dll文件。。。为不是一个exe的可执行文件:

技术分享图片

 

 

后来了解到.NET Core的项目分为两种发布方式,一种叫Framework-dependent deployments (FDD),还有一种叫Self-contained deployments (SCD),这两种发布有何区别可以查看微软的官方文档

而默认情况下.NET Core控制台项目的发布方式为Framework-dependent deployments (FDD),这种方式生成的就是dll文件,需要用"dotnet ConsoleCoreApp.dll"指令来运行。而如果在发布的时候选择Self-contained deployments (SCD)方式,生成的就是exe文件。

现在我们还是在项目上选择发布,不过这次我们在发布前先配置发布选项,点击配置:

技术分享图片

有两个选项需要更改,一个是部署模式,我们这次选为:独立(即Self-contained deployments (SCD)模式),然后目标运行时选为:win-x64(这个选项和你部署后的操作系统有关),然后点保存。

技术分享图片

然后再次发布:

技术分享图片

这次我们可以看到发布后生成的就是exe文件了,但是很明显由于Self-contained deployments (SCD)模式会将所有.NET Core的系统程序集也都生成出来,会造成发布后的发布文件数量增加,整个项目的程序文件变大,这一点要注意!

技术分享图片

 

为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

标签:png   tar   微软   ref   执行文件   项目   选项   指令   选择   

原文地址:https://www.cnblogs.com/OpenCoder/p/9858473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!