我在Azure Functions中首次使用F#Type Provider。这是run.fsx文件:
#r "FSharp.Data"
#r "Microsoft.WindowsAzure.Storage"
open System
open FSharp.Data
open Microsoft.WindowsAzure.Storage.Table
type Tweet = JsonProvider<"sample.json">
let Run (queueItem: string, tweets: ICollector<Tweet>) =
()
这是project.json文件:
{
"frameworks": {
"net46": {
"dependencies": {
"FSharp.Data": "2.3.2"
}
}
}
}
sample.json与其他文件位于同一文件夹中
当我运行它时,我得到了这个:
> 2017-02-06T13:40:22.946 > D:\home\site\wwwroot\TweeterDataCleaner\run.fsx(9,14): error FS3033: > The type provider 'ProviderImplementation.JsonProvider' reported an > error: Cannot read sample JSON from 'sample.json': Could not find file > 'D:\Windows\system32\sample.json'
有什么建议吗? 感谢
答案 0 :(得分:2)
当我遇到类似问题时,我发现了一种解决方法 - 使用__SOURCE_DIRECTORY__
值(常量?符号?我不确定它到底是什么):
[<Literal>]
let sample = __SOURCE_DIRECTORY__ + "/sample.json"
type Tweet = JsonProvider<sample>
我很想知道是否有更好的方法来指定它。