循序渐进学.Net Core Web Api开发系列【1】:开发环境
系列目录
本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi
一、本篇概述
本篇不打算描述如何通过Visual Studio创建一个项目之类的话题,主要描述以下内容:
1、使用NuGet和Bower引入第三方库
2、Linux下安装运行环境
3、关于安装虚拟机时碰到的网络设置的问题
实验环境:Windows 10 ,Visual Studio 2017 ,VM 14 , CentOS 7
二、使用Visual Studio 开发项目
不管你是使用Windows或MacOS操作系统,都可以采用Visual Studio 进行开发。.NET Core不再采用下载dll文件并copy到项目中的方式来引入第三方类库,而是采用NuGet工具进行第三方库的管理,NuGet只能管理类库,对于前端开发的js包需要通过Bower进行管理。
1、NuGet
如果我在项目中需要用到JSON转换的工具,在项目上鼠标右键选择“管理NuGet程序包”,在浏览窗口输入json,选择需要的包,比如Newtonsoft.Json,然后选择版本,安装即可。
2、Bower
不知什么原因,我用的VS版本,项目右键无法找到“管理Bower程序包”的菜单,解决方案:
在项目根目录添加两个文件
文件一: bower.json ,内容如下:
{ "name": "asp.net", "private": true, "dependencies": { }
}
文件二: .bowerrc ,内容如下:
{ "directory": "wwwroot/lib" }
此时在项目右键就可以选择“管理Bower程序包”了。
用法和NuGet类似:在浏览页搜索要找的包,如:jQuery,选择合适的包和版本,安装即可。
三、使用Linux环境运行项目
我选择的Linux环境为CentOS7,最初在CentOS6.5下安装过SDK,但没有成功,后来选择了7以上版本就OK了。
安装步骤如下:
# rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
# yum update
# yum install libunwind libicu
# yum install dotnet-sdk-2.1.
第一行代码是添加资源库
第二行代码为更新操作系统
第三行代码为安装依赖包
第四行代码为安装SDK
由于版本变化等原因,以上代码不一定永远可以成功执行,最新的安装指令或其他平台安装方法可以在此查询:Install .NET Core SDK
安装完成后可以运行以下指令来确认是否安装成功。
# dotnet --info
把开发好的项目Copy到Linux环境,在其项目目录下运行 dotnet run 即可启动项目,此时为源码项目方式运行,在开发环境我们对项目进行发布,将发布的项目文件夹Copy到Linux环境,在项目文件夹下运行dotnet WebApplication4.dll 即可启动项目。关于项目的发布后面会单独介绍。
四、虚拟机的网络设置
不是每个人手上都有充足的Linux机器资源,采用虚拟机来建立学习环境还是很有必要的。不管是采用VM还是VisualBox,整个安装过程都是比较简单的,可能唯一有疑问的地方就是选择什么类型的虚拟网卡。
vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。
这里不对三种模式进行详细探讨,直接给出建议:
1、如果是在服务器上安装虚拟机建议采用桥接模式,此时虚拟机将成为网络里的一台机器;
2、如果是在本机上安装虚拟机,建议采用NAT模式,此时虚拟机只有本机可以访问;
如果是NAT模式可以采用DHCP方式获取IP地址,如果是桥接模式建议配置静态IP地址。
设置网络IP配置的指令:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
桥接模式的配置信息
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=
NETMASK=
GATEWAY=
DNS1=
#以上4个数字参考路由器设置,和普通服务器类似
NAT模式的配置信息
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
配置完成后可以通过 # ifconfig 指令查询本机IP信息。
循序渐进学.Net Core Web Api开发系列【1】:开发环境的更多相关文章
- 循序渐进学.Net Core Web Api开发系列【0】:序言与目录
一.序言 我大约在2003年时候开始接触到.NET,最初在.NET framework 1.1版本下写过代码,曾经做过WinForm和ASP.NET开发.大约在2010年的时候转型JAVA环境,这么多 ...
- 循序渐进学.Net Core Web Api开发系列【16】:应用安全续-加密与解密
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 应用安全除 ...
- 循序渐进学.Net Core Web Api开发系列【15】:应用安全
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍W ...
- 循序渐进学.Net Core Web Api开发系列【14】:异常处理
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍异 ...
- 循序渐进学.Net Core Web Api开发系列【13】:中间件(Middleware)
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如 ...
- 循序渐进学.Net Core Web Api开发系列【12】:缓存
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如 ...
- 循序渐进学.Net Core Web Api开发系列【11】:依赖注入
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如 ...
- 循序渐进学.Net Core Web Api开发系列【10】:使用日志
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇介 ...
- 循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一 ...
- 循序渐进学.Net Core Web Api开发系列【8】:访问数据库(基本功能)
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇讨论如 ...
随机推荐
- linux 条件变量与线程池
条件变量Condition Variables 概述 1. 条件变量提供了另外一种线程同步的方式.如果没有条件变量,程序需要使用线程连续轮询(可能在临界区critical section内)方式检查条 ...
- node的path.join 和 path.resolve的区别
直接上图: join resolve 明显可以看出,join只会帮你把路径连接起来,而resolve会以当前路径为父路径来把你提供的路径连接起来
- Mogodb 学习一
0.MongoDB和关系型数据的几个重要对象对比 MongoDB中的数据库.集合.文档 类似于关系型数据库中的数据库.表.行 MongoDB中的集合是没有模式的,所以可以存储各种各样的文档 1.启动M ...
- 【LibreOJ】#6392. 「THUPC2018」密码学第三次小作业 / Rsa 扩展欧几里得算法
[题目]#6392. 「THUPC2018」密码学第三次小作业 / Rsa [题意]T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: \(c_1=m^{e_1} \ \ mod \ \ ...
- 20155339 2016-2017-2 《Java程序设计》第8周学习总结
20155339 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章NIO与NIO2 NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲 ...
- F - A计划
题目链接: https://cn.vjudge.net/contest/254150#problem/F wa代码: #include<iostream> #include<stri ...
- spring事务详解(二)实例
在Spring中,事务有两种实现方式: 编程式事务管理: 编程式事务管理使用底层源码可实现更细粒度的事务控制.spring推荐使用TransactionTemplate,典型的模板模式. 申明式事务管 ...
- springcloud使用Hystrix实现微服务的容错处理
使用Hystrix实现微服务的容错处理 容错机制 如果服务提供者相应非常缓慢,那么消费者对提供者的请求就会被强制等待,知道提供者相应超时.在高负载场景下,如果不作任何处理,此类问题可能会导致服务消费者 ...
- 拓展中国剩余定理(exCRT)摘要
清除一个误区 虽然中国剩余定理和拓展中国剩余定理只差两个字,但他俩的解法相差十万八千里,所以会不会CRT无所谓 用途 求类似$$\begin{cases}x \equiv b_{1}\pmod{a_{ ...
- 破解验证码模拟登陆cnblogs
from selenium import webdriver from selenium.webdriver import ActionChains from PIL import Image imp ...