【问题标题】:Deploying custom dll's in SharePoint 2010在 SharePoint 2010 中部署自定义 dll
【发布时间】:2011-07-02 19:53:02
【问题描述】:

我是 SharePoint 的新手,并试图解决这个问题。我有一个简单的 Web 部件项目。我还有一个自定义数据层项目,它使用 Microsoft 企业库进行数据访问。在 Web 部件项目中,我添加了对数据层项目程序集的引用。我在 Web 部件项目的包中指定我希望部署我的数据层的程序集。我可以通过使用标准 ADO.NET 类而不是自定义 MS 库来验证它是否有效。如果我使用企业库部署到 SharePoint 服务器(我有 100% 的访问权限),我会收到错误消息:

“无法加载文件或程序集 'Microsoft.Practices.EnterpriseLibrary.Data”

我需要采取哪些步骤来确保服务器上的这个项目和所有未来项目都可以轻松访问企业库以进行数据访问?

谢谢!

【问题讨论】:

    标签: sharepoint sharepoint-2010


    【解决方案1】:

    在某一点之前,您所做的一切都是正确的:部署。

    在部署外部 DLL 时,也应放入 GAC 或其他地方,您还需要将它们与 WSP 一起打包。这在 Visual Studio 2010 中变得非常容易:

    1. 打开您的包裹
    2. 点击“高级”(在底部)
    3. web.config 添加您的外部DLL 甚至可能是SafeControls

    【讨论】:

    • 谢谢你,成功了。不过,还有一个后续问题:它似乎已部署到 GAC。这是否意味着对于未来的项目,我不必再次打包相同的 dll?
    • 是的,正确的。它部署在该项目中 - 问题是如果您撤回该解决方案,该 dll 也会从 GAC 中撤回,并且您的所有其他项目都将失败。因此,要么将其添加到所有项目中,以便始终部署它 - 要么创建自定义“部署”功能,该功能仅提供此 DLL 和您一直想要的其他内容。
    • 谢谢!这是一个巨大的帮助!
    • 大家好,这里有 2 个快速问题:- 问题 1:假设部署了 2 个 WSP 解决方案,它们都打包了“test.dll”。那么,GAC中会有2个dll吗?问题2:假设我撤回了1个解决方案,那么其他解决方案的dll也会被撤回吗?
    • 好问题和使用 WSP 部署方法的主要缺点。如果您有不同版本的 test.dll,则 GAC 中将有两个 DLL。如果您有相同版本的 test.dll,旧版本将被覆盖。如果您撤回 WSP,即使仍然从另一个 WSP/解决方案引用 test.dll,也会删除 test.dll。不同版本的DLL就可以了,不会被删除。
    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多