F# 脚本 SharePoint 2010 API 不起作用



我正在尝试用f#做一些非常简单的事情来尝试和测试与SharePoint 2010 API的交互。我想我遇到了f#的一个普遍问题。无论如何,f#脚本可以访问SharePoint 2010 API吗?

我认为我的问题是由于f#脚本运行32位,而SharePoint API是64位。

我试图运行的代码示例如下:

#r "C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIMicrosoft.sharepoint.dll"
#r "System.ServiceModel.dll"
open System
open Microsoft.SharePoint
let GetListByUrl (listUrl:string) =
    use site = new SPSite(listUrl)
    use web = site.OpenWeb()
    let list = 
        if not (web = null) then web.GetList(listUrl)
    list

在visual studio编辑器中,它显示了以下错误:这里需要ChannelFactory ' 1,并且不可用。必须添加对程序集的引用…

当脚本运行时,它给出消息:System.IO.FileNotFoundException: the Web application at…找不到。验证您输入的URL是否正确…

这是我得到的错误信息,如果我试图访问SharePoint 2010 API从一个32位c#控制台程序。如果我将c#控制台程序更改为Any CPU,则该消息不会出现。

然而,我试图在f#脚本中做到这一点,我猜是32位,那么我该如何解决这个问题呢?

也因为这可能是f#脚本和64位dll的普遍问题,你将如何解决需要在f#脚本中引用64位dll的问题?

编辑我在visual studio cmd提示符中使用corflags.exe将fsi.exe修改为64位。我遵循了这个指南:http://ig2600.blogspot.com/2010/05/making-fsharp-interpreter-fsi-run-in.html。这似乎是可行的,尽管f#交互窗口似乎较慢。然而,当我在64位fsi中运行上面的代码时,它说sharepoint不能与。net 4.0一起工作。如何在。net 3.5中运行f#交互窗口?

编辑因为阿基诺的回答,他说我需要添加一个参考系统。我已经更新了代码来添加它。

这修复了visual studio编辑器的抱怨,不断出现的红色弯弯曲曲的线条无处不在。当脚本运行的结果是一样的,脚本无法访问sharepoint 2010 API,这是我的问题。

您需要向System添加一个引用。ServiceModel

相关内容

  • 没有找到相关文章

最新更新