无法在 Visual F# 中打开 Fsharp.Data
Cannot open Fsharp.Data in Visual F#
我正在通过在 Visual F# 中尝试 tryfsharp.org 中的一些示例代码来学习 F#。我使用 nuget 包控制台安装了 Fsharp.Data
:
Install-Package FSharp.Data
'FSharp.Data 2.1.1' already installed.
Adding 'FSharp.Data 2.1.1' to TryFsharp.
Successfully added 'FSharp.Data 2.1.1' to TryFsharp.
当我尝试引用它时:
#r "Fsharp.Data.dll"
Program.fs(10,1): error FS0084: Assembly reference 'Fsharp.Data.dll' was not found or is invalid
open Fsharp.Data
Program.fs(11,6): error FS0039: The namespace or module 'Fsharp' is not defined
这是我的项目结构:
|-- ArchitectureExplorer
|-- Backup Files
| |-- ConsoleApplication1
| |-- ConsoleApplication2
| |-- ConsoleApplication3
| |-- ConsoleApplication4
| |-- FSharpKoans
| |-- FsharpInFinance
| |-- TryFsharp
| |-- Tutorial1
| `-- Tutorial2
|-- Blend
| |-- ItemTemplates
| `-- ProjectTemplates
|-- Code Snippets
| |-- JavaScript
| |-- SQL_SSDT
| |-- Visual Basic
| |-- Visual C#
| |-- Visual C++
| |-- Visual Web Developer
| |-- XAML
| `-- XML
|-- Projects
| |-- ConsoleApplication1
| |-- ConsoleApplication2
| |-- ConsoleApplication3
| |-- ConsoleApplication4
| |-- FsharpInFinance
| |-- TryFsharp
| |-- Tutorial1
| |-- Tutorial2
| `-- WpfApplication1
|-- Settings
| |-- CurrentSettings-2015-01-17.vssettings
| |-- CurrentSettings.vssettings
| |-- FontsAndColorsBackup_a4d6a176-b948-4b29-8c66-53c97a1ed7d0.vssettings
| |-- Old.CurrentSettings.vssettings
| `-- Windows Azure Subscriptions.xml
|-- StartPages
|-- Templates
| |-- ItemTemplates
| `-- ProjectTemplates
|-- Visualizers
| |-- attribcache90.bin
| |-- autoexp.cs
| |-- autoexp.dll
| |-- autoexpce.cs
| `-- autoexpce.dll
|-- nuget.config
`-- packages
|-- Deedle.1.0.6
|-- FSharp.Data.2.0.14
|-- FSharp.Data.2.1.1
|-- FsCheck.1.0.4
`-- repositories.config
在使用之前我需要做任何额外的步骤吗?
正如您可以从错误消息中推断的那样,您需要使用 #r 指令指定 Fsharp.Data.dll 的正确位置。它可以是相对于您当前目录的,也可以是绝对的。
或者(更简单的 IMO),您可以安装 F# Power Tools 并使用它的 Send To Interactive 功能 - 只需右键单击 References 中的程序集和 select 这个选项。
可能不是最佳解决方案,但为了在交互式 F# 中进行测试,我使用真实路径,例如
#r "packages/FSharp.Data.2.2.5/lib/net40/FSharp.Data.dll"
#r "bin/Debug/FSharp.Data.SQLProvider.dll"
我正在通过在 Visual F# 中尝试 tryfsharp.org 中的一些示例代码来学习 F#。我使用 nuget 包控制台安装了 Fsharp.Data
:
Install-Package FSharp.Data
'FSharp.Data 2.1.1' already installed.
Adding 'FSharp.Data 2.1.1' to TryFsharp.
Successfully added 'FSharp.Data 2.1.1' to TryFsharp.
当我尝试引用它时:
#r "Fsharp.Data.dll"
Program.fs(10,1): error FS0084: Assembly reference 'Fsharp.Data.dll' was not found or is invalid
open Fsharp.Data
Program.fs(11,6): error FS0039: The namespace or module 'Fsharp' is not defined
这是我的项目结构:
|-- ArchitectureExplorer
|-- Backup Files
| |-- ConsoleApplication1
| |-- ConsoleApplication2
| |-- ConsoleApplication3
| |-- ConsoleApplication4
| |-- FSharpKoans
| |-- FsharpInFinance
| |-- TryFsharp
| |-- Tutorial1
| `-- Tutorial2
|-- Blend
| |-- ItemTemplates
| `-- ProjectTemplates
|-- Code Snippets
| |-- JavaScript
| |-- SQL_SSDT
| |-- Visual Basic
| |-- Visual C#
| |-- Visual C++
| |-- Visual Web Developer
| |-- XAML
| `-- XML
|-- Projects
| |-- ConsoleApplication1
| |-- ConsoleApplication2
| |-- ConsoleApplication3
| |-- ConsoleApplication4
| |-- FsharpInFinance
| |-- TryFsharp
| |-- Tutorial1
| |-- Tutorial2
| `-- WpfApplication1
|-- Settings
| |-- CurrentSettings-2015-01-17.vssettings
| |-- CurrentSettings.vssettings
| |-- FontsAndColorsBackup_a4d6a176-b948-4b29-8c66-53c97a1ed7d0.vssettings
| |-- Old.CurrentSettings.vssettings
| `-- Windows Azure Subscriptions.xml
|-- StartPages
|-- Templates
| |-- ItemTemplates
| `-- ProjectTemplates
|-- Visualizers
| |-- attribcache90.bin
| |-- autoexp.cs
| |-- autoexp.dll
| |-- autoexpce.cs
| `-- autoexpce.dll
|-- nuget.config
`-- packages
|-- Deedle.1.0.6
|-- FSharp.Data.2.0.14
|-- FSharp.Data.2.1.1
|-- FsCheck.1.0.4
`-- repositories.config
在使用之前我需要做任何额外的步骤吗?
正如您可以从错误消息中推断的那样,您需要使用 #r 指令指定 Fsharp.Data.dll 的正确位置。它可以是相对于您当前目录的,也可以是绝对的。
或者(更简单的 IMO),您可以安装 F# Power Tools 并使用它的 Send To Interactive 功能 - 只需右键单击 References 中的程序集和 select 这个选项。
可能不是最佳解决方案,但为了在交互式 F# 中进行测试,我使用真实路径,例如
#r "packages/FSharp.Data.2.2.5/lib/net40/FSharp.Data.dll"
#r "bin/Debug/FSharp.Data.SQLProvider.dll"