1..NET core扫盲
2.🔥🔥基于Net6+Vue2/Vue3+Element-ui开发的调试RBAC通用权限管理系统
.NET core扫盲
.NET发行至今已经过了十四个年头。随着版本的源源码不断迭代更新,.NET在Windows平台上的调试表现也是越来越好,可以说Windows平台上所有的源源码应用类型.NET几乎都能完成。只是调试成也Windows,败也Windows,源源码编译器 源码这十四年来,调试除了部分“民间”版本,源源码.NET一直没能在官方支持下摆脱Windows平台的调试局限,“开源”和“跨平台”这两个词语也是源源码所有.NET开发者心中的痛楚。最终,调试.NET Core出现了,源源码它让开发者们在官方和社区的调试蜂鸟棋牌源码支持走出了Windows,可以在macOS,源源码Linux主流distributions上编写调试并部署.NET程序。调试
.NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。.NET Core的源码放在 GitHub上,由微软官方和社区共同支持。电视播放源码它和传统的.NET Framework,属于“子集—超集”的关系,或者你也可以简单地认为它就是.NET Framework的跨平台版本(基于 BCL的层面上看)。这是因为在当前版本中(1.0),.NET Core中的大部分核心代码都是从.NET Framework中继承重写的,包括Runtime和Libraries(如GC, JIT, 部分类型)。
现在的.NET Core 1.0版本是一个很小的核心,APIs和工具也并不完整,但是随着.Net Core的不断完善,补充的Apis和创新也会一起整合到.NET Framework中。也就是说,.NET Core微软会同时更新.NET Framework和.NET Core,妙趣棋牌源码他们就像俩兄弟,共同努力致富(致谁的富?当然是.NET开发者们),实现所谓的天下大同,也就是 .NET 标准2.0
这里不得不提到一个叫做 .NET Standard Library概念。作为.NET平台APIs开发官方支持标准,它要求所有的.NET框架APIs都遵循向下兼容。比如说.NET Framwork 4.6支持.NET Standard Library 1.3,.NET Framwork 4.6.2框架支持.NET Standard Library 1.5,而.NET Core 1.0框架支持1.6标准。
Tips:是不是想起了MSCorEE.dll这个垫片,它同样承载着Windows平台上为.NET应用程序选择CLR版本的工作
第二种方式和.NET Native也是不一样的,仍然使用CoreCLR,搭建android源码而.NET Native使用CoreRT作为运行时,详细信息请见 dotnet/corert
.NET Core 1.0版本中支持的编程语言仅有C#(F#和VB暂未实现),这里还要提到一个开源的语言编译器Roslyn,它负责将代码编译成我们熟悉的IL语言,然后再借由AOT或JIT编译器编译成机器熟悉的机器语言。
以下内容演示在Windows和CentOS 7.2下的命令行生成和发布demo
3.1 Win
3.1.1 安装 .NET Core SDK和 .NET Core Runtime .NET Core SDK = 使用.NET Core开发应用.NET Core Runtime 和 SDK+CLI 工具
3.1.2 简单的运行结果 打开cmd,依次输入mkdir .project(创建目录),cd .\.project(进入目录),dotnet new(新建初始项目),dotnet restore(还原依赖),dotnet run(运行)即可运行第一个Hello World程序
3.2 CentOS 7.2(本地Hyper-V)
3.2.1 安装和运行 详情请见: .NET Core in CentOS,大致命令如下
第六行命令后可使用dotnet --info查看是否链接成功,显示如下
以上步骤在.NET Core官方网站都可以找到,可以看到应用在经过简单的dotnet new, dotnet restore, dotnet run命令后就跑起来了,但是这其实是类似于开发环境中的调试运行,而且win上new的应用此时也不能直接跨平台到Linux下运行,所以我们又得提到dotnet publish命令了
3.2.2 Self-contained applications 发布 (1) 修改project.json文件 我们现在win下按照步骤new一个新的HW控制台应用self,按照 官方文档要求,我们需要用以下内容替换原来project.json文件(删除"type": "platform",并增加runtimes节点)
(2) 执行restore和publish操作
之后执行dotnet restore指令,针对平台进行还原操作。该步操作耗时较久,虽然只是两个平台,第一次也花了较长时间。紧接着进行进行dotnet publish -r centos.7-x -c release。
dotnet publish指令详见 dotnet-publish - Packs the application and all of its dependencies into a folder getting it ready for publishing (3) 在Linux平台上运行
上述操作后,我们只需要将发布后的文件夹(bin/release/netcoreapp1.0/centos7-x/publish,包含self.exe)上传到Linux root目录下project(新建)文件夹中, 在Shell中输入指令
修改可执行权限后,即可成功运行“Hello World”,这就是我们“Self-contained applications”方式的部署方法
至此,.NET Core的学习便告一段落了,以上内容简单介绍了.NET Core的组成和特性,同时也在Windows和Linux系统上通过两种不同的部署方式成功运行了示例。相比较之前的.NET Framework傻瓜式部署,.NET Core的新奇真是让我眼前一亮。接下来,我也会将.NET Core和 ASP.NET Core的学习记录下来,欢迎指正。
4.2 相关学习资料
5. 参考资料
🔥🔥基于Net6+Vue2/Vue3+Element-ui开发的RBAC通用权限管理系统
项目源码位于:不做码农/ZrAdminNetCore
项目起源于对现有技术栈的探索与满足。在GitHub和Gitee上,我找到了大量基于Java后端的项目,这些项目在后端依赖管理和配置上存在复杂性,同时,前端业务封装过于繁杂,导致代码难以理解。借鉴了Java Ruoyi项目的代码风格,我决定构建一个前后端分离的.NET项目,旨在提供一个更简洁、高效且易于维护的解决方案。
ZRAdmin.NET的前端技术栈基于Vue2.x或Vue3.x,辅以vuex、vue-router、vue-cli、axios、element-ui、vite、webpack、echarts和国际化插件in。通过使用Visual Studio Code作为开发工具,实现了代码的高效编写与管理。
后端技术则专注于实现核心功能,优化了配置和依赖管理,旨在提供一个稳定、高性能的API服务。
项目地址提供了一个直观的演示图,展示了其在实际应用中的功能与界面。如果您觉得ZRAdmin.NET在开发过程中对您有所帮助,请给予支持,通过在GitHub上Star该项目,以示鼓励。