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()