微软.Net Core是一款电脑系统必备组件,该工具是.Net大家庭中的一员,将用以替代年长的.Net Framework,开源免费使用,带来更强的使用体验!
软件介绍
.NET Core 是.net framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1] ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。
由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
软件特色
跨平台
可以在Windows,macOS,Linux上运行
灵活的部署机制
1.Portable applications(便携式应用)
这种部署机制和传统的.NET Framework相似,只要目标平台上存在.NET Core Runtime即可。
2.Self-contained application(自宿主应用)
顾名思义,这种部署机制将应用和运行时共同打包,即便目标平台上没有安装.NET Core Runtime也能正常使用
第二种方式和.NET Native也是不一样的,仍然使用CoreCLR,而.NET Native使用CoreRT作为运行时,详细信息请见dotnet/corert
命令行工具
.NET程序所有的运行脚本都可以用命令行工具执行(cmd,bash)这里有几个常见的donnet命令
兼容性
通过.NET Standard Library与.NET Framework,Xamarin,Mono兼容
开源
.NET Core从属于.NET基金会,由微软进行官方支持。使用MIT和Apache 2开源协议,文档协议遵循CC-BY
软件特色
支持或可以移转 (port) 到更多的操作系统平台与芯片架构 (也就是未来项目会跨出 x86 平台)。
具有引人注目的性能与高可靠度。
开发人员能快速与直觉的获取 .NET Core 开发环境。
在直觉与具生产力的情况下建造应用程序,使用文件,示例与 NuGet 组件。
和.net区别
对于初次接触.NET Core的用户来说,最大的疑惑应该就是该工具与经典的.NET Framework有什么区别了,他们同属于.NET家族,有着类似的开发实现方式,也同样在VS开发,很多内容上接近甚至相同,他们有什么具体不同呢?下面的讲解很精妙的对其进行讲解,一起看看吧。
1. 简单说,都是.net standard所定义的接口的实现,都是 .net standard的儿子。
2.
.NET Core & .NET Framework 都是 NET Standard Library 的实现,一种是跨平台,而另一种是Windows下特有的,除实现NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的实现。.NET Standard Library 是跨操作系统的关键所在,它定义了一组接口,而每个操作系统有各自的实现,.NET Core通过nuget可以动态下载当前操作系统的实现,从而实现跨操作系统(暨跨操作系统共享代码)。
.NET Core 更依赖于Nuget,允许本地application在部署时动态下载需要的class library。而.NET Framework需要在系统中预装。这样.NET Core的部署比.NET Framework 更简单快速同样也更轻便。
ASP.NET Core 有两种形态的存在:
ASP.NET Core Web Application(.NET Core)
依赖于.NET Core的ASP.NET 只可以调用.NET Core的API,可以在多个操作系统上运行。(可见下图下半部分的Reference Manager,在assemblies中没有.NET Framework 中的库)
ASP.NET Core Web Application(.NET Framework)
依赖于.NET Core & .NET Framework 的ASP.NET 可以调用.NET Core&.NET Framework的API ,只可以在Windows下运行
3 .NET Core & Mono
Mono是.NET Framework的开源版本的实现,在某些特性上和.NET Core 很类似比如开源,跨操作系统。目前.NET CORE 会从Mono上吸取经验,发展壮大最终可以更好的在除Windows外的其他操作系统上运行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。
怎么开发网站
初次接触.NET Core想要对网站进行开发要怎么操作呢?流程上并不难,并且和.NET Framework一样易用,下面就来看教程讲解吧:
一、创建MVC项目
编辑器推荐VSCode
在要创建项目的地址创建一个文件夹,例如Demo,然后在命令行模式下进入到当前的目录,例如我这里是D:\Demo
以下代码都可以在VSCode中直接输入,操作步骤是"查看 => 集成终端"
新建项目之后可以看到文件夹下已经生成了对应的文件
这个时候我们执行 命令,可以安装项目的依赖文件。执行 命令后就可以在本地 的地址上访问到界面。
最终,我们需要发布项目,执行 命令就可以将项目发布到当前文件夹的 下,需要部署时只要将publish文件夹复制到服务器上进行部署即可。
二、项目部署到服务器
部署之前一定要确定项目编译通过无错误,并且已经安装dotnet-sdk 以及 dotnet-runtime,两者版本要一致!两者版本要一致!两者版本要一致!
在IIS服务器上部署:
在IIS上部署相对要简单很多,毕竟都是自家玩意儿,只需要在IIS上新建一个网站,然后选择基本设置,将物理路径选择自己项目的路径即可。
在CentOS服务器上部署:
在Linux服务器上部署的步骤就多了些。首先,依然是要确定项目编译通过无错误,并且已经安装dotnet-sdk 以及 dotnet-runtime,两者版本要一致!两者版本要一致!两者版本要一致!
然后,我们需要安装Jexus,通常情况下,对外提供的 Web 服务都在 80或者443 端口,而我们的 Web 应用程序默认运行在5000端口,在 Windows 上可以使用 IIS 来宿主 ASP.NET Core,在 Linux 下可以用 Nginx,Apache,Jexus 等来作为宿主。本实验向大家推荐使用国内社区自行开发的 Jexus。
微服务搭建教程
.NET Core具有微服务功能,能为你在开发时带来非常不错的便利,下面的教程将对如何搭建微服务进行讲解,一起看看吧。
这个教程主要是对于第一次使用dotnet core开发的同学。
运行环境是在centos 7 ,
使用了docker容器。
即这是一篇运行在linux的docker容器上的微服务的简单应用。
一. 安装.NET SDK
安装.NET之前,先安装一些依赖,运行下面的命令
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安装成功后,再安装.NET SDK
sudo yum update //对整个系统升级 sudo yum install dotnet-sdk-2.2 //安装.net sdk
检验下是否安装成功
dotnet
二.创建服务
运行下面的命令
dotnet new webapi -o myMicroservice --no-https cd myMicroservice
dotnet会创建一个webapi类型的应用。
-o :表示会创建一个名字为myMicroservice的目录
--no-https :表示这个应用运行的时候不需要https证书,这是为了部署时方便
cd myMicroservice:表示进入到这个新创建的目录
上面的命令运行以后会生成一些文件,这里对部分文件进行讲解:
myMicroservice.csproj:定义了这个应用引用 的一些libraries
Startup.cs:包含所有的setting和应用启动时的配置文件
Controllers/ValuesController.cs:是一个简单的api
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<ienumerable
{
return new string[] { "value1", "value2" };
}
}
三.运行服务
dotnet run
输入:https://localhost:5000/api/Values 浏览效果
device-mapper-persistent-data和lvm2两个包。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.安装稳定的库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.列出库中可用的docker版本,选择版本安装
yum list docker-ce
4.安装指定的版本。
sudo yum install docker-ce
5.启动并加入开机启动
$ sudo systemctl start docker $ sudo systemctl enable docker
6.检验是否安装成功
docker --version
五.添加Docker元数据(Docker metadata)
想要让docker镜像(docker image)运行,你需要一个Dockerfile文件。这个文件中包含怎么把应用打包成镜像的说明。
1.进入应用目录
cd myMicroservice
2.新增一个Dockerfile
echo . > Dockerfile
把下面的内容复制到里面
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY myMicroservice.csproj myMicroservice/
RUN dotnet restore myMicroservice/myMicroservice.csproj
WORKDIR /src/myMicroservice
COPY . .
RUN dotnet build myMicroservice.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish myMicroservice.csproj -c Release -o /app
FROM base AS final
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "myMicroservice.dll"]
六.创建一个Docker镜像
docker build -t mymicroservice .
docker build命令使用Dockerfile中的信息建立一个docker镜像
-t mymicroservice:把镜像命名为 mymicroservice
. :表示Dockerfile在当前目录
列出可用的镜像
docker image ls
七. 运行Docker镜像
执行下面的命令
docker run -it --rm -p 3000:80 mymicroservice
访问下面的网址:https://localhost:3000/api/values
好了,结束。
更新内容
编译性能大幅度提升,编译并发布代码确确实实地快了,这次真没有吹牛;
ASP.NET Core的响应速度有了显著提升,打开网页速度“刷刷刷”,程序在我的Macbook上也“健步如飞”;
之前编译的时候会出现一些警告和错误信息,(在官方论坛上确定是编译器的bug)现在都没有了,修正了;
ASP.NET Core提供了一些新的Tag及帮助方法,很有用
微软旗下软件都有什么是不少用户咨询的问题,这家行业巨头不仅有着占有霸主地位的操作系统,也有各种强大的开发平台和运行环境,更有着海量生产力的工具软件,小编这里将微软好用的软件下载进行集合,用户能在这里找到对软件的需求。
精品推荐
-
Microsoft .Net Framework4.7.2中文版
详情 -
.Net3.5
详情 -
.Net3.5 64位win10离线安装包
详情 -
MarkdownPad2
详情 -
.Net Framework 4.0 32位离线安装包
详情 -
RPGVXACE RTP
详情 -
Cmder(windows命令行工具)
详情 -
jetbrains全系列激活工具
详情 -
scratch免激活离线版
详情 -
Microsoft .NET Runtime6.0
详情 -
鲸鱼积木编程专业版
详情 -
Lodop云打印机插件
详情 -
Qt Linguist(QT语言家)
详情 -
Microsoft .Net Framework 4.0完整版
详情 -
Jar to Exe
详情 -
DevExpress 2020
详情
装机必备软件
网友评论