【问题标题】:EPPlus library and SharePoint 2010EPPlus 库和 SharePoint 2010
【发布时间】:2013-08-02 10:06:54
【问题描述】:

我在 Visual Studio 2012 SharePoint 2010 项目中使用 EPPlus 库,当我添加“ExcelPackage pck = new ExcelPackage();”时,从应用程序页面获得以下“找不到文件”异常作为创建excel文件的起点:

  • 无法加载文件或程序集“EPPlus,版本=3.1.3.0,Culture=neutral,PublicKeyToken=ea159fdaa78159a1”或其依赖项之一。系统找不到指定的文件。

库注册没有问题,项目构建并运行,直到调用包含 EPPLus 代码的函数。

相同的代码在标准 asp.net Web 应用程序中的同一台机器上运行良好。

如有任何建议,谢谢。

【问题讨论】:

  • 你是如何使用这个库的?它是 ASPX 页面中的内联代码吗?它是 DLL 中的代码隐藏吗?
  • codebehind - 在网页上单击按钮时调用。
  • protected void lnkExportToExcel_Click(object sender, EventArgs e) { ... DumpExcel(dtResultsED} } private void DumpExcel(DataTable tblED) { using (ExcelPackage pck = new ExcelPackage()) { ... } }

标签: sharepoint-2010 epplus


【解决方案1】:

您需要在 GAC 中部署程序集。

您可以使用 GacUtil 之类的工具添加它,或者通过将程序集添加到解决方案包中来将其包含在您的解决方案中。

在解决方案资源管理器中,双击包。

在包属性中选择高级选项卡

在附加程序集中添加程序集

【讨论】:

  • 非常感谢,是的,将程序集添加到 GAC 是一种享受。
【解决方案2】:

如果您尝试在 ASPX 页面的内联代码中访问此库(例如,在 <%%> 标记之间),那么您需要在 web.config 中添加对程序集的引用,这样当页面是按需编译的,编译器会引用它。

<compilation debug="true">
  <assemblies>
    <add assembly="EPPlus, Version=3.1.3.0, Culture=neutral, ..." />

【讨论】:

  • 抱歉耽搁了。如上所述,它在代码隐藏中,但在 SharePoint 需要的某处缺少引用或路径。
  • 好吧,如果你从字面上理解错误信息,也许还有另一个缺少的 EPPlus 依赖项?
猜你喜欢
  • 2017-07-19
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
相关资源
最近更新 更多