在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目。

问题来了,为什么要替换NuGet?

Paket 是一个用于 .NET 和 Mono 平台的包管理器,灵感来自于 Bundler。可与 NuGet 一起工作,可精确控制项目中所引用的各种软件包。所以可以肯定的是你想知道,"为什么我们需要更换掉NuGet?" Packet本质上是只需要NuGet的最基本的功能,并增加了一些额外的并且是不错的功能。

一方面,Paket使得你能够精确控制你的项目的包依赖所发生的事情。如果不同的包引用了不同版本的同一个依赖包,比如说log4net,他们之间没有更多的冲突。

另一个很酷的事情是Paket可以引用GitHub上单个的文件http://fsprojects.github.io/Paket/github-dependencies.html ,也就是和Github可以很好的协作。

那么我已经在使用NuGet了呢?

一点问题都没有!Paket有一个漂亮的转换工具convert-from-nuget 辅助你完成这个转换。

那么我们怎么开始使用呢,跟我来。

首先要在你解决方案的根目录下包含一个.paket文件夹,里面包含用于安装和恢复包的工具paket.exe。

文件夹和文件内容都在那里后,需要在解决方案的根目录下创建一个paket.dependencies文件,内容类似于:

source https://nuget.org/api/v2

nuget FSharp.Core ~> 3.1.2

nuget FSharp.Formatting

nuget Nuget.CommandLine

nuget FAKE

nuget SourceLink.Fake

nuget IKVM ~> 8.0.5

nuget NUnit

nuget NUnit.Runners

github fsharp/FAKE modules/Octokit/Octokit.fsx

此文件告知PAKET的来源是(NuGet或GitHub上)的包/文件名,它可以从这些源下载。

那么你可以使用一个build.cmd文件或像下面手动执行paket.exe。

\.paket\paket.exe install

这将创建一个packages文件夹,​​其中将包括所有的库。

从这里,你可以随时手动引用你想要的库,但PAKET使这个工作更容易容易。在每个有一个project文件的文件夹位置有个文件paket.references文件,创建包含要引用的库。

FSharp.Core

NUnit

NUnit.Runners

需要注意的是FAKE是不是在文件中,因为它不会引用。该paket.references文件将只添加到项目中如果库是在lib文件夹。手动引用也不是问题,因为它可以在build.fsx文件中手动引用的。为了让PAKET使用引用文件,只需--hard开关重新运行安装命令

\.paket\paket.exe install –hard

这将检查paket.references 文件并用这个文件来自动引用该项目相对应的库。

这里还有一个 Visual Studio的插件工具 https://github.com/fsprojects/Paket.VisualStudio  ,不过只支持Visual studio 2013.

希望这个简要介绍帮助您开始使用比以前的包管理更容易的Paket工具。不过这仍然是一个年轻,非常活跃的项目,期待你的关注。

Paket 介绍的更多相关文章

  1. Paket介绍

    在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目 ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  4. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  5. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  6. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  7. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  8. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  9. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

随机推荐

  1. SecureCRT如何与Linux虚拟机进行关联

    首先在宿主机上确认虚拟网卡是否正确工作,并查看其IP地址,如本例中,宿主机的虚拟网卡VMnet8的IP地址为:192.168.121.1/24. VMnet8是VMware用于NAT连接的虚拟网卡. ...

  2. MongoDB聚合运算之group和aggregate聚集框架简单聚合(10)

    聚合运算之group 语法: db.collection.group( { key:{key1:1,key2:1}, cond:{}, reduce: function(curr,result) { ...

  3. make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl] 错误 1,make: *** [out/host/linux-x86/obj/lib/libESR_Portable.so] 错误 1

    错误3: g++: g++: selected multilib '32' not installed selected multilib '32' not installed make: *** [ ...

  4. 继承映射关系 TPH、TPT、TPC<EntityFramework6.0>

    每个类型一张表[TPT] 声明方式 public class Business { [Key] public int BusinessId { get; protected set; } public ...

  5. 前端知识杂烩(HTML[5]?+CSS篇)

    1. CSS 优先级算法如何计算?2.如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?3.用纯CSS创建一个三角形的原理是什么?4. 如何解决inline-block元素的空白间距( ...

  6. 【转载】VS2012的打包方法

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  7. PTAM 编译安装 on MAC(mavericks)

    最近有需要研究PTAM,所以需要在我的MAC上编译安装,整个过程让人非常崩溃各种问题陷阱.现在整理一下编译过程.我已经成功在MAC上编译.那么接下来我会详细讲解整个过程: 注意: 部分链接可能需要FQ ...

  8. 【爬虫】Python2 爬虫初学笔记

    爬虫,个人理解就是:利用模拟“操作浏览器”的过程,自动获取我们想要的数据(或者说信息,比如图片啊) 为何要学爬虫:爬取数据,为我所用(相当于可以把一类数据整合起来) 一.简单静态网页爬虫架构: 1.B ...

  9. DFS序+线段树 hihoCoder 1381 Little Y's Tree(树的连通块的直径和)

    题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每 ...

  10. 封装jdbc 单例模式的应用

    实现增删该查的jdbc封装 import java.io.IOException; import java.io.InputStream; import java.sql.Connection; im ...