2

时,我们正在开发一个SharePoint的WebPart如在Visual Studio 2013沙盒解决方案SharePoint Online的验证例外。我们使用外部DLL库iTextSharp来读取和写入PDF。激活我们的解决方案时,我们遇到问题。错误使用的System.Reflection

我们的错误信息是:

错误验证组件itextsharp.dll

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

回答

1

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

该解决方案引用禁止类 System.Reflection.BindingFlags,不能在本网站 集中使用。

不能将System.Reflection命名空间与SharePoint Online解决方案(大部分)结合使用。从System.Reflection只允许成员为:

  • 的GetValue名称
  • GetCustomAttributes
  • 属性类型
  • 的GetValue的SetValue

我建议在微软开发的SharePoint Online解决方案文档考虑看看(link ),因为现在有很多以前可用于SharePoint开发的命名空间,现在已禁止这些命名空间。

下面是微软不得不说的是:

因为它是一个多租户环境中,当您上传沙盒 解决方案库,SharePoint Online中进行进一步 一轮验证检查,以及由 内部部署SharePoint安装执行的操作。沙盒解决方案不能 激活,如果它包含的代码调用任何下列命名空间:

下面是禁止的命名空间的列表(见所有异常的文档):

  • Microsoft.SqlServer
  • 的Microsoft.Win32
  • System.Data.Sql
  • System.Data.SqlClient的
  • SY stem.Data.SqlTypes
  • System.IO.Pipes
  • System.IO.Ports
  • 的System.Reflection
  • System.Runtime。InteropServices
  • System.Runtime.Remoting
  • 的System.Threading
  • Array.CreateInstance()
  • System.Delegate
  • Type.GetType(字符串)
  • Type.InvokeMember()