Asp.Net Core 学习教程1、初始.Net Core与VS Code 第一个web程序
1、.net core介绍
.net core是.net framework的新一代版本, 是微软开发的第一个具有跨平台(windows、macosx、linux) 能力的应用程序开发框架,未来也将会支持freebsd与alpine平台,是微软在一开始发展时就开源的软件平台,它也经常被拿来和现有的开源net平台mono比较。
由于.net core的开发目标是跨平台的.net平台,因此.net core会包含.net framework的类库。与.net framework不同的是,.net core 采用包化(packages) 的管理方式,应用程序只需获取需要的组件即可。与.net framework大包式安装的做法截然不同,并且各包亦有独立的版本线,不再硬性要求应用程序跟随主线版本。
2、.net core跨平台
.net core 拥有跨平台能力,并支持多种系统,让我们开大的程序可以在多个系统中运行。.net支持的操作系统:windows 客户端、windows 服务端、debian、red hat enterpise linux、 fedora、 ubuntu、 linux mint、 opensuse、 oracle linux、 centos、 mac osx
3、 .net core sdk 下载安装
下载链接 点击就下载了3.0.1.00 也可以去管网下载 。
下载下来微软的就是傻瓜式安装,位置就默认了装在c盘了,下一步下一步就好了 哈哈。安装好了 win+r 输入cmd 打开命令提示符输入 dotnet --info 看到下面的信息就证明安装好了
4、 dotnet命令
一般的命令在命令提示符里面直接输入dotnet -all 查看
比如新建一个项目 它提示了是 new 怎么搞呢? 不知道就是在来一次 dotnet new -all 可以看到很多创建的命令 都有提示 表头的意思: 模板、短名称、语言、标记 下面创建一个控制台应用程序
进入文件夹的命令自己搜吧 创建控制台应用程序是dotnet new console -n 名称 后面要接语言的话后面加上 -lang f#这样
运行 dotnet run 的时候先要进去到创建项目的文件夹里面 其他命令有兴趣的自己试试 感觉跟git一样 哈哈。
5、在vs code中创建.net core项目
vs codel下载地址: 根据版本选择自己的下载 我的是windows 当然安装过vscode 的就忽略这一步。安装好了打开安装插件 快捷键(ctrl+shift+x)或者点击左上一排的倒数第二个按钮 搜索 c#(包括语法高亮显示、智能感知、定义、查找所有引用等。调试支持。网络核心(coreclr)。) 安装一下 ,一般语言都是中文的 可能有的是英文的就还要安装一个简体中文包chinese (simplified) 。安装好了重启vs code。
接下来用dotnet new 创建一个.net core web程序 ,输入了命令要稍等一下 ,有点慢 (可能我的机子慢 0.0)。 创建好了 命令进入创建的文件夹webfirst 输入code . 用vscode快速打开,并加载当前目录。你也可以打开vs code左上角打开文件夹来完成这一部操作。
首次打开的时候会提示我们添加vs code配置文件,选择yes就好了,等出现.vscode文件夹后就可以开发、调试程序了。按f5或者菜单:调试->启动调试启动项目 出现错误咯
遇到问题不要慌 看看 。这是因为net core2.1默认使用的https,如果使用kestrel web服务器的话没有安装证书就会报这个错。其实仔细看他的错误提示,其中有一句叫你执行一个命令安装证书的语句: dotnet dev-certs https --trust
安装就是了 这是启动就浏览器就出现了 hello word!好熟悉的感觉 你要相信这是真的 这就是.net core 的一个程序。神奇吧。
5.1关于 vs code c#插件配置介绍
使用vs code打开.net core 项目文件夹后悔根据提示生成vs code所需要的的配置文件,就是刚才说的c#配置文件。在.vscode文件夹下面有两个文件 :launch.json和tasks.json。tasks.json是用于配置执行那些命令行命令来构建项目,launch.json配置需要使用的调试器的类型。有了这两个文件 vs code就知道如何构建调式了。
{ "version": "2.0.0", "tasks": [ { "label": "build", "command": "dotnet", "type": "process", "args": [ "build", "${workspacefolder}/co.csproj", "/property:generatefullpaths=true", "/consoleloggerparameters:nosummary" ], "problemmatcher": "$mscompile" }, { "label": "publish", "command": "dotnet", "type": "process", "args": [ "publish", "${workspacefolder}/co.csproj", "/property:generatefullpaths=true", "/consoleloggerparameters:nosummary" ], "problemmatcher": "$mscompile" }, { "label": "watch", "command": "dotnet", "type": "process", "args": [ "watch", "run", "${workspacefolder}/co.csproj", "/property:generatefullpaths=true", "/consoleloggerparameters:nosummary" ], "problemmatcher": "$mscompile" } ] }
节点介绍:
command节点在这里表示使用dotnet命令;
args 在这里是参数对应路径dotnet.csproj 及build
结合起来就相当于指向了dotnet build 路径\dotnet.csproj
{ // use intellisense to find out which attributes exist for c# debugging // use hover for the description of the existing attributes // for further information visit https://github.com/omnisharp/omnisharp-vscode/blob/master/debugger-launchjson.md "version": "0.2.0", "configurations": [ { "name": ".net core launch (web)", "type": "coreclr", "request": "launch", "prelaunchtask": "build", // if you have changed target frameworks, make sure to update the program path. "program": "${workspacefolder}/bin/debug/netcoreapp3.1/co.dll", "args": [], "cwd": "${workspacefolder}", "stopatentry": false, // enable launching a web browser when asp.net core starts. for more information: https://aka.ms/vscode-cs-launchjson-webbrowser "serverreadyaction": { "action": "openexternally", "pattern": "^\\s*now listening on:\\s+(https?://\\s+)" }, "env": { "aspnetcore_environment": "development" }, "sourcefilemap": { "/views": "${workspacefolder}/views" } }, { "name": ".net core attach", "type": "coreclr", "request": "attach", "processid": "${command:pickprocess}" } ] }
节点介绍:(这里主要是configurations节点下)
program: 这里表示程序build以后生成的dll,默认是bin\debug\框架\项目名称.dll
args:用样式参数,这个参数可以传递到程序里
cwd:代码的目录
访问的时候是https不信的试试看,要改成http。打开properties/launchsettings.json文件
{ "iissettings": { "windowsauthentication": false, "anonymousauthentication": true, "iisexpress": { "applicationurl": "http://localhost:22028", "sslport": 44383 } }, "profiles": { "iis express": { "commandname": "iisexpress", "launchbrowser": true, "environmentvariables": { "aspnetcore_environment": "development" } }, "webfirst": { "commandname": "project", "launchbrowser": true, "applicationurl": "https://localhost:5001;http://localhost:5000", "environmentvariables": { "aspnetcore_environment": "development" } } } }
iissettings、profiles.helloweb配置节点都有启动绑定配置,因为vs code启动项目默认是不通过iis来host的,iissettings选项我们忽略就可以了。将applicationurl修改为http://localhost:5001 重启就看到了是http协议了
5.2项目结构说明:
.vscode目录:vs code项目配置目录,相当于.vs、.idea文件夹;
bin:编译输出目录;
obj:编译配置与中间目录,用于存放编译配置与编译中间结果;
properties:用于存放项目配置;
wwwroot:存放静态文件(js,css,img等);
webfirst.csproj:项目描述文件;
program.cs文件:应用程序入口类文件
startup.cs文件:asp.net core web应用启动类文件,用于项目启动前进行相关配置
6、总结
现在大致已经会在vs code建一个.net core应用程序了,我门的目的不是这么简单,接下来就是在vs 2017 里面开始学习 asp.net core 了(asp.net core ==.net core ??),重点介绍一下program.cs 跟startup.cs这两个文件,我觉得现在不知道他们是什么意思没事 接下来慢慢学吧只有知道了就好写程序了吧。哪里不对的多多指教^_^
本文链接