2

我们在 Visual Studio 2013 for SharePoint Online 中开发一个 SharePoint webpart 作为沙盒解决方案。我们使用外部 dll 库iTextSharp来读取和写入 PDF。激活我们的解决方案时遇到问题。

我们的错误信息是:

验证程序集时出错itextsharp.dll

此解决方案引用了禁止的类型System.Reflection.BindingFlags,不能用于此网站集。

4

1 回答 1

1

您已经自己回答了这个问题:

此解决方案引用了禁止的类型 System.Reflection.BindingFlags,不能在此网站集上使用。

您不能将System.Reflection命名空间与 SharePoint Online 解决方案一起使用(大部分情况下)。唯一允许的成员System.Reflection是:

  • 获取值名称
  • 获取自定义属性
  • 财产种类
  • 获取值设置值

我建议查看 Microsoft 用于开发 SharePoint Online 解决方案的文档(链接),因为以前有很多名称空间可用于 SharePoint 开发,但现在已被禁止。

以下是微软对此的评价:

因为它是一个多租户环境,所以当您将沙盒解决方案上传到解决方案库时,除了本地 SharePoint 安装执行的验证检查之外,SharePoint Online 还会执行另一轮验证检查。如果沙盒解决方案包含调用以下任何命名空间的代码,则无法激活它:

以下是禁止命名空间的列表(请参阅文档了解所有例外情况):

  • 微软.SqlServer
  • 微软.Win32
  • System.Data.Sql
  • System.Data.SqlClient
  • System.Data.SqlTypes
  • System.IO.管道
  • 系统.IO.端口
  • 系统反射
  • System.Runtime.InteropServices
  • System.Runtime.Remoting
  • 系统线程
  • Array.CreateInstance()
  • 系统委托
  • 类型.GetType(字符串)
  • 类型.InvokeMember()
于 2015-07-06T05:10:07.583 回答