在.net core 2.0中生成exe文件

.net core 2.0程序默认生成的是一个dll,需要通过dotnet命令来执行他。

dotnet ConsoleApp1.dll

这种方式有点类似于java程序。本身这种方式没有什么问题,但在调试和维护的过程中还是没有exe来的方便。在网上查了一下,貌似还没有多少介绍.net core 2.0下生成exe的方法,这里便写篇文章记录下,以备有同样需求的朋友查询。

其实.net core 2.0下生成exe的方法也比较简单,直接在生成命令上使用--runtime <rid> 即可。例如,原来编译的命令是:

    dotnet build

生成带exe的命令则是:

    dotnet build --runtime win-x64

此时就会在文件夹下生成一个win-x64的文件夹,里面则是有一个带exe的版本。

另外,--rumtime也可以简写为 –r,该命令可以简写如下:

    dotnet build -r win-x64

发布的时候使用dotnet publish即可,

    dotnet publish -c Release -r win-x64

该参数可以支持如下命令:

剩下的一个问题就是参数rid该如何选择,这里可以参看MSDN上的这篇文章:.NET Core RID Catalog。如果不想看这篇文章,对于Windows可以参考下表:

Portable

win-x86 / win-x64

Win7 / 2008 R2

win7-x86 / win7-x64

Win8 / 2012

win8-x86 / win8-x64 / win8-arm

Win8.1 / 2012 R2

win81-x86 / win81-x64 / win81-arm

Win10

win10-x86 / win10-x64 / win10-arm / win10-arm64

由于windows本身就有一定的兼容性,这里的版本选择也不是绝对的,生成的win10-x64也可以一样在win7下面跑。当然,也可以直接选择Portable的win-x64

posted @ 2018-05-27 17:28  PreDo  阅读(255)  评论(0编辑  收藏  举报