编译 Deedle

Deedle 中含有 RProvider。

要编译 Deedle。须要先下载 R。地址:

http://cran.cnr.berkeley.edu/bin/windows/base/

还要在 R 控制台中安装 zoo 包:

install.packages("zoo")

可是。測试时另一个错误:

未能载入文件或程序集“FSharp.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。

系统找不到指定的文件。

这是因为在 \tests\Deedle.Tests\bin\Release 文件夹下没有 FSharp.Core.dll

那么,原因何在?

是因为 \tests\Deedle.Tests\Deedle.Tests.fsproj 中

<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

      <Private>False</Private>

    </Reference>



把这个属性改成 True 就能够了。

另外,打开測试项目。发现有很多引用不存在。

再看測试项目,当中有很多引用的 .dll 不存在:

FSharp.Literate

FSharp.CodeFormat

是须要安装 FSharp.Formatting 包。即,在 VS 包控制台中运行:

install-package FSharp.Formatting

还有三个:

FSharp.CompilerBinding

FSharp.Data.DesignTime

FSharp.PowerPack.Metadata

=============================

\Deedle-master\tests\Deedle.Documentation.Tests\Deedle.Documentation.Tests.fsproj

<ItemGroup>

    <Reference Include="FSharp.CodeFormat">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.CodeFormat.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.CompilerBinding">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.CompilerBinding.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.Data.DesignTime">

      <HintPath>..\..\bin\FSharp.Data.DesignTime.dll</HintPath>

    </Reference>

    <Reference Include="FSharp.Literate">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.Literate.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.Markdown">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.Markdown.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.MetadataFormat">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.MetadataFormat.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.PowerPack.Metadata">

      <HintPath>..\..\packages\FSharp.Formatting.2.0.2\lib\net40\FSharp.PowerPack.Metadata.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="mscorlib" />

    <Reference Include="nunit.framework">

      <HintPath>..\..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="RazorEngine">

      <HintPath>..\..\packages\RazorEngine.3.3.0\lib\net40\RazorEngine.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="System" />

    <Reference Include="System.Core" />

    <Reference Include="System.Numerics" />

    <Reference Include="System.Web" />

    <Reference Include="System.Web.Razor">

      <HintPath>..\..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll</HintPath>

      <Private>True</Private>

    </Reference>

  </ItemGroup>

实际上重点就是三个:FSharp.Formatting、FSharp.CompilerBinding、FSharp.Data。

为什么这三个不放在包里自己主动安装?

改一下路径。也就好了:

<ItemGroup>

    <Reference Include="FSharp.CodeFormat">

      <HintPath>..\..\packages\FSharp.Formatting.2.4.17\lib\net40\FSharp.CodeFormat.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.CompilerBinding">

      <HintPath>..\..\packages\FSharp.CompilerBinding\bin\Debug\FSharp.CompilerBinding.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.Data.DesignTime">

      <HintPath>..\..\packages\FSharp.Data.2.0.8\lib\net40\FSharp.Data.DesignTime.dll</HintPath>

    </Reference>

    <Reference Include="FSharp.Literate">

      <HintPath>..\..\packages\FSharp.Formatting.2.4.17\lib\net40\FSharp.Literate.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.Markdown">

      <HintPath>..\..\packages\FSharp.Formatting.2.4.17\lib\net40\FSharp.Markdown.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.MetadataFormat">

      <HintPath>..\..\packages\FSharp.Formatting.2.4.17\lib\net40\FSharp.MetadataFormat.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="FSharp.PowerPack.Metadata">

      <HintPath>..\..\packages\FSharp.Formatting.2.4.17\lib\net40\FSharp.PowerPack.Metadata.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="mscorlib" />

    <Reference Include="nunit.framework">

      <HintPath>..\..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="RazorEngine">

      <HintPath>..\..\packages\RazorEngine.3.3.0\lib\net40\RazorEngine.dll</HintPath>

      <Private>True</Private>

    </Reference>

    <Reference Include="System" />

    <Reference Include="System.Core" />

    <Reference Include="System.Numerics" />

    <Reference Include="System.Web" />

    <Reference Include="System.Web.Razor">

      <HintPath>..\..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll</HintPath>

      <Private>True</Private>

    </Reference>

  </ItemGroup>



另一个问题,即 Documentation.Tests.fs 中有一段不能编译。

Literate.ProcessScriptFile

      ( Path.Combine(sources, file), template, Path.Combine(output, file),

        errorHandler = errorHandler,

        fsharpCompiler = compiler )



应该是 ProcessScriptFile 做过改动。没有后面的两个參数。因此,去掉后面的两个參数就能编译了。

Literate.ProcessScriptFile

      ( Path.Combine(sources, file), template, Path.Combine(output, file))

编译 Deedle的更多相关文章

  1. DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等

    DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...

  2. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  3. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  4. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  5. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  6. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  7. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  8. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  9. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

随机推荐

  1. wireshark抓文件上传的包的结果记录

    如果我们再一个表单中放了一个text的input 还放了一个file的input进行文件上传,此时用wireshark抓到的包应该是什么样子的呢 html代码 <form action=&quo ...

  2. Leetcode 402.移掉k位数字

    移调k位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : ...

  3. Leetcode 373.查找和最小的k对数字

    查找和最小的k对数字 给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k. 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2. 找到和最小的 ...

  4. 【C#】C#数据类型和VB的区别

    导读:看完了C#,需要总结的有很多东西.开始没有怎么在意,根本没有意识到,那些视频是教给了我一种新的编程语言,我就真的是像看电视剧一样的看完了.猛然想起了学过的VB,这是目前为止,我接触到的仅有的语言 ...

  5. 九度oj 题目1107:搬水果

    题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆.每一次合并,小明可以把两堆水果合并到一起,消耗的体力等于两堆水果的重量之和.当然经 ...

  6. python ConfigParser 学习

    [安装] ConfigParser 是解析配置文件的第三方库,需要安装 pip install ConfigParser   [介绍] ConfigParser 是用来读取配置文件(可以是.conf, ...

  7. [BZOJ1575] [Usaco2009 Jan]气象牛Baric(DP)

    传送门 DP f[i][j]表示前i个中选j个的最优解 预处理g[i][j]表示选i~j对答案的贡献 那么就可以n^3乱搞了! 注意边界 #include <cstdio> #includ ...

  8. BZOJ 2463: [中山市选2009]谁能赢呢?【博弈】

    这题不科学~~本以为鬼谷子的钱袋是能在BZOJ写的最短的程序了,这题还要短…..好吧,思考难度神马的还是有点的(至少对我这种蒟蒻来说).很明显这是道博弈论的题目,在纸上画出了n=1~4的博弈树,发现b ...

  9. BZOJ3611 [Heoi2014]大工程 【虚树】

    题目 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上. 在 2 个国家 a,b 之间建一条新通道需要的代价为树上 a ...

  10. 在App_Data中创建数据库获取连接串简便方法!

    原文发布时间为:2008-07-25 -- 来源于本人的百度文章 [由搬家工具导入] 1、在App_Data右击添加一个SQL数据库2、双击该数据库,在左边添加表,并显示表数据进行添加数据3、把刚刚创 ...