[英]error FS0039: The field, constructor or member 'X' is not defined
我试图在fsx文件中交互式运行我的代码。 我已经加载了所需的所有dll,然后尝试使用#load加载所需的文件,但是当我加载“ Utlities.fs”文件时,该文件取决于顶部文件“ HttpGetExchangeRate.fs”中的函数,因此出现错误“ Utilities .fs(88,42):错误FS0039:未定义字段,构造函数或成员'getExchangeRates'“
如下图所示,当我加载“ HttpGetExchangeRate.fs”时,是否未定义“ getExchangeRates”剂量?
#load "HttpGetExchangeRate.fs"
#load "Utilities.fs"
open System
open FsCheck
open NUnit.Framework
open HttpClient
InvoiceApp.Http.getExchangeRates "EUR" "USD"
InvoiceApp.Math.convertInvoicingCurrencyToEuro 200.00M "EUR"
这是错误消息的图像
如果我正确理解了您的情况,那是由于FSI处理名称空间的方式存在错误。 解决方法是在#load
第二个文件之前open
所需的名称空间
#load "HttpGetExchangeRate.fs"
open InvoiceApp
#load "Utilities.fs"
那应该暂时让您畅通无阻,此错误已得到修复 (F#4.0 / VS 2015将具有此修复程序)。
听起来您好像正在使用fsi中的隐式模块遇到此问题中描述的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.