• 编译 Deedle


    编译 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”或它的某一个依赖项。

    系统找不到指定的文件。

    这是因为在 estsDeedle.TestsinRelease 文件夹下没有 FSharp.Core.dll

    那么,原因何在?

    是因为 estsDeedle.TestsDeedle.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 estsDeedle.Documentation.TestsDeedle.Documentation.Tests.fsproj

      <ItemGroup>
        <Reference Include="FSharp.CodeFormat">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.CodeFormat.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.CompilerBinding">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.CompilerBinding.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.Data.DesignTime">
          <HintPath>....inFSharp.Data.DesignTime.dll</HintPath>
        </Reference>
        <Reference Include="FSharp.Literate">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.Literate.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.Markdown">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.Markdown.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.MetadataFormat">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.MetadataFormat.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.PowerPack.Metadata">
          <HintPath>....packagesFSharp.Formatting.2.0.2lib et40FSharp.PowerPack.Metadata.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="mscorlib" />
        <Reference Include="nunit.framework">
          <HintPath>....packagesNUnit.2.6.3lib unit.framework.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="RazorEngine">
          <HintPath>....packagesRazorEngine.3.3.0lib et40RazorEngine.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>....packagesMicrosoft.AspNet.Razor.2.0.30506.0lib et40System.Web.Razor.dll</HintPath>
          <Private>True</Private>
        </Reference>
      </ItemGroup>

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

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

    改一下路径。也就好了:

     <ItemGroup>
        <Reference Include="FSharp.CodeFormat">
          <HintPath>....packagesFSharp.Formatting.2.4.17lib et40FSharp.CodeFormat.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.CompilerBinding">
          <HintPath>....packagesFSharp.CompilerBindinginDebugFSharp.CompilerBinding.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.Data.DesignTime">
          <HintPath>....packagesFSharp.Data.2.0.8lib et40FSharp.Data.DesignTime.dll</HintPath>
        </Reference>
        <Reference Include="FSharp.Literate">
          <HintPath>....packagesFSharp.Formatting.2.4.17lib et40FSharp.Literate.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.Markdown">
          <HintPath>....packagesFSharp.Formatting.2.4.17lib et40FSharp.Markdown.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.MetadataFormat">
          <HintPath>....packagesFSharp.Formatting.2.4.17lib et40FSharp.MetadataFormat.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="FSharp.PowerPack.Metadata">
          <HintPath>....packagesFSharp.Formatting.2.4.17lib et40FSharp.PowerPack.Metadata.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="mscorlib" />
        <Reference Include="nunit.framework">
          <HintPath>....packagesNUnit.2.6.3lib unit.framework.dll</HintPath>
          <Private>True</Private>
        </Reference>
        <Reference Include="RazorEngine">
          <HintPath>....packagesRazorEngine.3.3.0lib et40RazorEngine.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>....packagesMicrosoft.AspNet.Razor.2.0.30506.0lib et40System.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))


  • 相关阅读:
    HDU4628+状态压缩DP
    Javascript 去掉字符串前后空格的五种方法
    Javascript 数组之判断取值和数组取值
    ASP.NET MVC 出现错误 “The view 'XXX' or its master was not found or no view engine support”
    ASP.NET MVC 页面调整并传递参数
    ASP.NET MV3 部署网站 报"Could not load file or assembly ' System.Web.Helpers “ 错的解决方法
    ASP.NET MVC 控制器向View传值的三种方法
    CSharp 如何通过拼接XML调用存储过程来查询数据
    SQLServer : EXEC和sp_executesql的区别
    关于SQLServer2005的学习笔记—异常捕获及处理
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6831801.html
Copyright © 2020-2023  润新知