【发布时间】:2014-01-06 13:54:09
【问题描述】:
我正在尝试按照此链接http://msdn.microsoft.com/en-us/library/hh361033.aspx 从通过命令行 fsx.exe 触发的 F# 脚本中通过 SqlDataConnection 运行数据库查询。
当我从 VS2012 交互式窗口运行以下脚本行时,打开所有命名空间没有问题。
#r "FSharp.Core.dll"
#r "System.Data.dll"
#r "FSharp.Data.TypeProviders.dll"
#r "System.Data.Linq.dll"
open Microsoft.FSharp.Linq
open System
open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
--> Referenced 'C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\FSharp.Core.dll'
--> Referenced 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Data.dll'
--> Referenced 'C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\Type Providers\FSharp.Data.TypeProviders.dll'
--> Referenced 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Data.Linq.dll'
但是,如果我使用 FSI.exe 从命令行窗口运行相同的脚本文件,则会出现错误
Script4.fsx(9,23): error FS0039: The namespace 'Linq' is not defined.
第 9 行指的是 Microsoft.FSharp.Linq 命名空间。
Q1:我在这里缺少什么?
当我在 VS2012 交互式窗口中运行脚本时,我可以看到所有 参考信息/添加路径/绑定信息和Val信息。但是,如果我从命令行运行脚本,则不会打印任何内容来帮助我调试。
Q2:VS2012交互窗口打印的信息是否可以打印到命令行窗口?
问候 卡比
【问题讨论】:
标签: command-line f#-interactive