ASP.NET Core 1.0 中的依赖项管理
ASP.NET Core 1.0 中的依赖项管理¶
警告
您当前查看的页面是未经授权的转载!
如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/p/aspnet5-dependency-management.html
提示
更新时间:2016年01月20日。
做过实际开发的都知道,我们需要引用各种各样的类库来帮助我们完成项目的开发。
本文将从服务器端和浏览器端两个方面介绍ASP.NET Core 1.0 中的依赖项管理。
服务器端代码使用 Nuget 作为包管理器¶
对于已经习惯使用 Visual Studio 2015 作为开发工具的码农们应该对 Nuget 不陌生,这里不做介绍了。
但有一点需要说明,它在管理服务器端类库的时候确实给我们提供了很大的便利,但不可否认的是它在浏览器端类库的管理上还很欠缺。
注解
如果你不是在Windows平台上开发,也没有关系,你依然能使用服务器端的包管理器,只不过没有漂亮的UI而已。
Nuget的包引用在在项目文件 project.json 中的 dependencies 处定义。
dependencies 有两个位置,一处是对于所有的 frameworks 均适用的,另一处是在某个framework中。
比如下面的引用中,在 dnxcore50 的位置我引用了 System.Console ,而 dnx451 本身很庞大,已经自带了 Console 的功能,因此就无需再包含。
小技巧
dnxcore50 框架,微软做了大幅的裁剪,只包含了最最基础的代码,如果你需要使用Linq或者其他你认为很常用的,都是需要像第33行一样进行引用。
1 |
{
|
使用 Visual Studio 2015 时,每次修改project.json文件会自动触发还原,但在其他情况下,需要手动执行:
dnu restore
浏览器端代码使用 Bower 作为包管理器¶
Bower是一个web包管理器,可以安装和还原客户端的依赖包,同时能自动帮我们处理依赖关系,目前已经有超过3万个包可用。
Nuget 包管理器的依赖项定义在 project.json 中,而 Bower 的则定义在 bower.json 中。
通常情况下,我们创建一个非空的项目后,Bootstrap和jQuery这两个包就已经安装好了。
1 |
{
|
警告
事实上,对于 Mac/Linux 平台,上述2个包的依赖关系已经在 bower.json 写好,但两个包的内容却并没有下载到本地。
网站运行的时候没有出现问题是因为网站默认先从微软的CDN中获取文件,仅当CDN获取失败时才转而从本地获取。
安装 d3 绘图引擎¶
如果我们需要引用新的包,比如用于数据展示的 d3 , 只需要添加如下一行内容即可。
1 |
{
|
小技巧
使用 ~3.5.10 表示引用 3.5.x 的最新版, 也可使用 ^3.5.10 来表示引用 3.x.x 的最新版。
保存文件,Visual Studio 2015 会自动帮你下载 d3 ,下载好的文件会位于 wwwroot\lib\d3 文件夹下。

注解
对于 Mac/Linux 平台,每次修改 bower.json 后,都需要手动运行 bower install 命令。
小技巧
非常不建议手动更改 wwwrootlib 文件夹下的任何内容,因为运行 bower install 便会覆盖已有的更改。
声明 
ASP.NET Core 1.0 中的依赖项管理 由 勤奋的小孩 创作,采用 知识共享 署名-相同方式共享 4.0 国际 许可协议进行许可。
本许可协议授权之外的使用权限可以从 http://space.cnblogs.com/msg/send/qin-nz 处获得。
ASP.NET Core 1.0 中的依赖项管理的更多相关文章
- ASP.NET Core 1.0 中使用 Swagger 生成文档
github:https://github.com/domaindrivendev/Ahoy 之前文章有介绍在ASP.NET WebAPI 中使用Swagger生成文档,ASP.NET Core 1. ...
- ASP.NET Core 3.0中使用动态控制器路由
原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...
- 探索 ASP.Net Core 3.0系列三:ASP.Net Core 3.0中的Service provider validation
前言:在本文中,我将描述ASP.NET Core 3.0中新的“validate on build”功能. 这可以用来检测您的DI service provider是否配置错误. 具体而言,该功能可检 ...
- 在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据
在.Net Core 3.0中 内置了一套Json序列化/反序列化方案,默认可以不再依赖,不再支持 Newtonsoft.Json. 但是.NET Core 3.0 System.Text.Jso ...
- 避免在ASP.NET Core 3.0中为启动类注入服务
本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0类库转换为.NET Core 3.0类库 Part 2 - IHostingE ...
- ASP.NET Core - 在ActionFilter中使用依赖注入
上次ActionFilter引发的一个EF异常,本质上是对Core版本的ActionFilter的知识掌握不够牢固造成的,所以花了点时间仔细阅读了微软的官方文档.发现除了IActionFilter.I ...
- 在ASP.NET Core 1.0中如何发送邮件
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:目前.NET Core 1.0中并没有提供SMTP相关的类库,那么要如何从ASP.NE ...
- 用ASP.NET Core 1.0中实现邮件发送功能
准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...
- 在ASP.NET Core 2.0中使用CookieAuthentication
在ASP.NET Core中关于Security有两个容易混淆的概念一个是Authentication(认证),一个是Authorization(授权).而前者是确定用户是谁的过程,后者是围绕着他们允 ...
随机推荐
- Android_demo之生成二维码
今天我们来学习一个自动生成二维码 的写法.我们经常能见到各种二维码,比如公众号的二维码,网址的,加好友的,支付的二维码等等.其实每一个二维码只是利用图片的形式展示出来的,实际是一些字符串.而这个字符串 ...
- table的遍历
1.for k,v in pairs (tbtest) do 这样的遍历顺序并不是tbtest中table的排列顺序,而是根据tbtest中key的hash值排列的顺序来遍历的 2.for k,v i ...
- Python—使用__slots__限制实例的属性
如果我们想要限制实例的属性怎么办?比如,只允许对Student实例添加name和age属性. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该 ...
- 手机版 div拖动
<!doctype html> <html> <head> <title></title> <script type="te ...
- PostrgreSQL 表名大小些问题(public."tablename")
问题: 今天做表查询的时候,发现用以前的代码查询出现问题,提示说表名不存在. 现象: 通过PostrgreSQL客户端查询,发现出问题的表的查询语句如下: SELECT * FROM public.& ...
- SimpleDateFormat的应用
import java.text.SimpleDateFormat;import java.util.Date;public class Main { public static void ma ...
- Android的setVisibility(View.GONE)无效的问题及原因分析
出现这种情况很可能是因为设置了animation,并且调用了setFillAfter(true),这就会导致setVisibility无效,只需要调用一下clearAnimation()方法或者去掉s ...
- 解决程序出现“terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)”的问题
最近跑程序时出现了这么一个问题: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_al ...
- silverlight控件阴影效果示例
<ScrollViewer MaxHeight="400" VerticalScrollBarVisibility="Auto" HorizontalSc ...
- Coursera Machine Learning 作业答案脚本 分享在github上
Github地址:https://github.com/edward0130/Coursera-ML