Sharepoint 2010 EPPlus库和SharePoint 2010

Sharepoint 2010 EPPlus库和SharePoint 2010,sharepoint-2010,epplus,Sharepoint 2010,Epplus,我正在Visual Studio 2012 SharePoint 2010项目中使用EPPlus库,当我添加“ExcelPackage pck=new ExcelPackage();”作为创建excel文件的起点时,从应用程序页面中获取以下“找不到文件”异常: 无法加载文件或程序集“EPPlus,版本=3.1.3.0,区域性=中性,PublicKeyToken=ea159fdaa78159a1”或其依赖项之一。系统找不到指定的文件 库注册没有问题,项目构建并运行,直到调用包含EPPLus代码

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

  • 无法加载文件或程序集“EPPlus,版本=3.1.3.0,区域性=中性,PublicKeyToken=ea159fdaa78159a1”或其依赖项之一。系统找不到指定的文件
库注册没有问题,项目构建并运行,直到调用包含EPPLus代码的函数为止

在标准asp.net web应用程序的同一台计算机上,相同的代码可以正常工作


非常感谢您的建议。

如果您试图在ASPX页面的内联代码中访问此库(例如在
标记之间),则需要在web.config中添加对程序集的引用,以便在按需编译页面时,编译器将引用它

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

您需要在GAC中部署程序集

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

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

在“包属性”中,选择“高级”选项卡


在其他程序集中添加程序集

如何使用该库?它是ASPX页面中的内联代码吗?它是DLL中的codebehind吗?codebehind-在网页上单击按钮时调用。受保护的void lnkExportToExcel\u Click(对象发送方,事件参数e){…DumpExcel(dtResultsED}}私有void DumpExcel(DataTable tblED){使用(ExcelPackage pck=new ExcelPackage()){…}很抱歉延迟。如上所述,它位于codebehind中,但SharePoint需要的某个地方缺少一个引用或路径。如果您从字面上理解错误消息,可能缺少另一个ePlus依赖项?非常感谢,是的,将程序集添加到GAC非常有效。