循序渐进学.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 一.概述 本篇讨论如 ...
随机推荐
- 【转】如何学习android开发
1.Java基础 很多朋友一上手就开始学习Android,似乎太着急了一些.Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只 是机械的照抄别人的代码,是没有任何意 ...
- mongoDB的使用(NodeJs)
MongoDB相信大家都不太陌生了,但是究竟它和我们熟悉的MySQL(MariaSQL).SQLServer有什么区别呢? 我们熟悉的MySQL是关系型数据,每个数据表都有严格的数据结构规定,因而我们 ...
- xgboost入门与实战(原理篇)
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- Mask-RCNN数据集制作
转自https://blog.csdn.net/pingushen2100/article/details/80513043 一.Mask-RCNN数据集 1.1 训练Mask-RCNN用的到的文件有 ...
- <meta http-equiv="X-UA-Compatible" content="IE=7" />意思是将IE8用IE7进行渲染,使网页在IE8下正常
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...
- 文件通过svn updata更新不到,并且svn st显示被删除的解决办法
不知道什么原因导致某些文件丢失,svn updata更新后仍然没有找到,采用svn st 显示这些文件被删除,svn reslove 也解决不了,头疼了很久,最近突然解决了,具体步骤如下(已经过验证) ...
- redis添加systemctl服务
1.编辑systemctl服务配置文件 vim /lib/systemd/system/redis.service 2.内容如下 [Unit]Description=RedisAfter=networ ...
- mybatis入门基础----高级映射(一对一,一对多,多对多)
阅读目录 一:订单商品数据模型 二.一对一查询 三.一对多查询 四.多对多查询 回到顶部 一:订单商品数据模型 1.数据库执行脚本 创建数据库表代码: CREATE TABLE items ( id ...
- bzoj千题计划279:bzoj4591: [Shoi2015]超能粒子炮·改
http://www.lydsy.com/JudgeOnline/problem.php?id=4591 最后的式子合并同类项 #include<cstdio> #include<i ...
- 机器学习算法整理(七)支持向量机以及SMO算法实现
以下均为自己看视频做的笔记,自用,侵删! 还参考了:http://www.ai-start.com/ml2014/ 在监督学习中,许多学习算法的性能都非常类似,因此,重要的不是你该选择使用学习算法A还 ...