使用System.Reflection时验证异常时出错

时间:2015-06-25 11:13:39

标签: c# sharepoint sharepoint-online validationerror sandbox-solution

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

我们的错误讯息是:

  

验证程序集itextsharp.dll时出错。

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

1 个答案:

答案 0 :(得分:1)

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

  

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

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

  • GetValue名称
  • GetCustomAttributes
  • PropertyType
  • GetValue SetValue

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

以下是微软对此的评价:

  

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

以下是禁止名称空间的列表(请参阅所有例外的文档):

  • Microsoft.SqlServer
  • 的Microsoft.Win32
  • System.Data.Sql
  • System.Data.SqlClient的
  • System.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()