Win Server 2012 配置运行 .net core 环境
今天拿到一台 全新的win 2012 服务器配置服务器环境 记录一下
首先装好IIS
打开服务器管理器 - 添加功能和角色

好 安装完IIS 看一下服务器有没有安装 core的运行环境(全新服务器肯定是没有的 但是还是要检测一下 专业嘛 )
打开dos命令
运行dotnet 或者 dotnet --info 或者 dotnet --versin
如图所示 没有响应 果然不出所料 他是没有安装core的runtime的
微软官网下载一下环境 网址:https://dotnet.microsoft.com/download/dotnet-core/2.2
我这次选择下载的是 2.25版本(注意:此处不需要下载sdk)
安装完之后 再次打开dos 运行 dotnet --info
果然不出所料 已经安装好了
ok 发布一下本地代码
发布.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),需要如下两个条件:
- VC 2015 RunTime
- Windows补丁DB2999226,可能还需要KB2533623
另外,微软也在开发一个大招AOT CoreRT,类似之前提的.net native,简单的来书就是通过AOT将.net core程序直接编译成native程序,园子里有人体验过,最终发布的一个asp.net core程序也不到4m,可以说非常苗条了,并且native程序理论上也可以提升启动速度,希望微软能早日完成这个项目。
参考文章:
无特殊配置,需要注意的是,将应用程序池中对应的项修改为 无托管代码 。
作者: Felix-Zhang
出处:https://www.cnblogs.com/zhangxiaoxia/p/11394996.html
版权:本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探