小编Cli*_*hie的帖子

如何将F#SqlDataConnection TypeProvider与App.Config文件一起使用?

我正在使用类型表达式:

type dbSchema = SqlDataConnection<ConnectionStringName="X1", ConfigFile="App.config">
Run Code Online (Sandbox Code Playgroud)

这在编译时非常有效(我可以完全访问所有数据库类型),但它在运行时失败.我认为这是因为在控制台应用程序的bin目录中生成的配置文件被命名为其他内容,例如MyAppName.exe.config,因此App.config找不到该文件.

当然,对于使用的ASP.NET MVC类型的应用程序,web.config没有问题,因为编译和运行时配置文件名是相同的.

幸运的是,App.configbin目录中放置副本确实可以解决问题,但这是我们应该做的吗?有什么想法吗?

f# app-config

12
推荐指数
1
解决办法
749
查看次数

F#TypeProvider"XMLProvider"给出了System.Exception

我正在尝试使用XML类型提供程序处理Twitter推文,如下面的代码所示.使用LINQ XElement函数访问tweet数据值时,代码工作正常,但是在使用XMLProvider创建的类型时,它会失败并出现例外情况:"XML不匹配:预计只有一个'title'子元素".我知道没有给出命名空间,但是,我不知道如果需要它们将如何与提供者一起指定.

// ...

open FSharp.Net
open FSharp.Data

let ns = "http://www.w3.org/2005/Atom"

// General helpers for XML

let xelem s (el: XContainer) = el.Element(XName.Get(s, ns)) 
// ...
let xvalue (el: XElement) = el.Value

let twitterUri = "http://search.twitter.com/search.atom?q=Windows8&rpp=100&lang=en"
type Tweets = XmlProvider<"SampleTweets.xml", Global=false>

let feed = Tweets.Load twitterUri

// title 0 & 1 produce correct values

let title0 = feed.XElement |> xelem "title" |> xvalue
let title1 = feed.XElement |> xelem "entry" |> xelem "title" |> xvalue

// title 2 produces: …
Run Code Online (Sandbox Code Playgroud)

f# type-providers f#-data

4
推荐指数
1
解决办法
783
查看次数

标签 统计

f# ×2

app-config ×1

f#-data ×1

type-providers ×1