gpt4 book ai didi

sharepoint - F# 脚本 SharePoint 2010 API 不起作用

转载 作者:行者123 更新时间:2023-12-01 05:37:56 24 4
gpt4 key购买 nike

我正在尝试在 F# 中进行一些非常简单的操作,以尝试测试与 SharePoint 2010 API 的交互。我想我遇到了 F# 的一般问题。无论如何,F# 脚本是否可以访问 SharePoint 2010 API?

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

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

#r "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.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 编辑器中,它显示以下错误:此处需要 Type System.ServiceModel.ChannelFactory`1 且不可用。您必须添加对程序集的引用...

当脚本运行时,它给出消息: System.IO.FileNotFoundException: The Web application at... could not be found。验证您输入的 URL 是否正确...

如果我尝试从 32 位 c# 控制台程序访问 SharePoint 2010 API,则会收到以下错误消息。如果我将 c# 控制台程序更改为 Any CPU,则不会出现该消息。

但是,我正在尝试在我猜是 32 位的 F# 脚本中执行此操作,那么我将如何解决该问题?

此外,由于这可能是 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# 交互式窗口?

编辑
由于 F.Aquino 发布的答案,他说我需要添加对 System.ServiceModel 的引用,因此我更新了代码以添加它。

这解决了 Visual Studio 编辑器的提示,这些提示到处都是红色波浪线。运行脚本时结果相同,脚本无法访问 sharepoint 2010 API,这是我遇到的问题。

最佳答案

您需要添加对 System.ServiceModel 的引用

关于sharepoint - F# 脚本 SharePoint 2010 API 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com