簡體   English   中英

錯誤FS0039:未定義字段,構造函數或成員'X'

[英]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中的隱式模塊遇到此問題中描述的問題。

如何加載外部F#代碼並在fsi中使用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM