【问题标题】:Sharepoint & Azure: msoidcliL.dll missingSharepoint 和 Azure:缺少 msoidcliL.dll
【发布时间】:2017-03-08 01:34:19
【问题描述】:

我正在尝试将应用程序部署到 Azure 网站,该应用程序使用 Sharepoint 客户端对象模型 (Sharepoint SDK 2013) 从 Sharepoint 实例读取数据。

当我在本地运行它时一切正常(安装了 Sharepoint SDK),但是当我将它部署到 Azure 网站并尝试运行它时,我得到了System.IO.FileNotFoundException: msoidcliL.dll

很明显,这是因为 Azure 服务器上没有安装 Sharepoint SDK。

有没有办法让它在 Azure 网站上运行?

我已经尝试将 DLL 复制到 ~/bin 目录中(我尝试了 32 位和 64 位版本),这根本没有变成错误。我用谷歌搜索了一些有类似问题的人的帖子,但到目前为止我找不到任何提示或解决方案:(

【问题讨论】:

标签: sharepoint azure dll


【解决方案1】:

只需使用 V 16 的 Microsoft.Sharepoint.Client 和运行时 Dll。您不会出错。

【讨论】:

    【解决方案2】:

    我认为这是不可能的。

    作为解决方法,您可以尝试使用反射更改 ClientUtility.s_setupDirectory 类中的变量,类似这样:

    var path = Server.MapPath("/") + "bin\\";
    logger.Info("Server Path:" + path);
    var field = typeof(Microsoft.SharePoint.Client.ClientUtility)
                  .GetField("s_setupDirectory", 
                            BindingFlags.NonPublic | BindingFlags.Static);
    field.SetValue(null, path);
    

    但你可能会遇到其他问题

    更新:请使用 SharePoint 客户端组件 V16,它将工作。

    【讨论】:

    • 是的,不幸的是还有其他问题 :( 我无法让它运行,因为它似乎需要更多的 DLL 或 / 以及某些注册表项。我同意你的看法似乎不可能让客户端对象模型在没有安装 SDK 的机器上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-13
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多