今天拿到一台 全新的win 2012 服务器配置服务器环境 记录一下

首先装好IIS

打开服务器管理器  - 添加功能和角色 

Win Server 2012 配置运行 .net core 环境

Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境 
Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境Win Server 2012 配置运行 .net core 环境 Win Server 2012 配置运行 .net core 环境

Win Server 2012 配置运行 .net core 环境

Win Server 2012 配置运行 .net core 环境

Win Server 2012 配置运行 .net core 环境

好 安装完IIS 看一下服务器有没有安装 core的运行环境(全新服务器肯定是没有的 但是还是要检测一下 专业嘛 )

打开dos命令

运行dotnet  或者 dotnet --info 或者 dotnet --versin 

Win Server 2012 配置运行 .net core 环境

如图所示 没有响应 果然不出所料 他是没有安装core的runtime的

微软官网下载一下环境 网址:https://dotnet.microsoft.com/download/dotnet-core/2.2

Win Server 2012 配置运行 .net core 环境

我这次选择下载的是 2.25版本(注意:此处不需要下载sdk)

安装完之后 再次打开dos 运行 dotnet  --info

Win Server 2012 配置运行 .net core 环境

果然不出所料 已经安装好了

ok 发布一下本地代码 

Win Server 2012 配置运行 .net core 环境

发布.net core程序的时候,发现它是可以独立部署的,它支持如下两种部署方式:

  • 依赖框架的部署FDD。只发布我们的程序,运行前用户需要手动安装.net core runtime。
  • 独立部署SCD。发布我们的程序和.net core runtime,即我们的程序可以运行在没有安装..net core runtime的机器上。

大多数时候,我们采用的是FDD模式,这样发布的东西比较少,就几个dll就够了,并且能够跨平台,经常是windows版本写好的拿到linux上直接运行,非常方便。

一个简单的示例如下: dotnet publish --self-contained -r win-x64

主要是加入了--self-contained指令,另外,由于FDD模式发布的是原生程序,因此还需要用-r指定运行平台。

这种方式下,由于将runtime一并发布了,发布的程序占用空间较大,我试了一下,大概有60m,压缩后也有28m。不过有人发布了一个程序IL Linker,它可以分析程序实际依赖的dll,将没有使用到的dll从打包中剔除,号称可以将体积缩小一半。

需要注意的是,即使是以独立方式发布的.net core程序,也不一定能在对方的机器上运行还需要满足..net core运行环境才行,具体可以参考官方文章Windows 上 .NET Core 的决条件。简单的来讲,对于低版本的windows(如win7),需要如下两个条件:

另外,微软也在开发一个大招AOT CoreRT,类似之前提的.net native,简单的来书就是通过AOT将.net core程序直接编译成native程序,园子里有人体验过,最终发布的一个asp.net core程序也不到4m,可以说非常苗条了,并且native程序理论上也可以提升启动速度,希望微软能早日完成这个项目。

参考文章:

 

无特殊配置,需要注意的是,将应用程序池中对应的项修改为 无托管代码 。

相关文章:

猜你喜欢
相关资源
相似解决方案