2016-11-22 82 views
0

LicenseKey.LoadLicenseFile不適用於SharePoint項目。IText7許可證不適用於SharePoint

當我創建一個控制檯工具並手動添加itext.licesekey.dll時,將生成沒有許可證的pdf文件。但如果我通過PM命令Install-Package itext7.licensekey添加它,它可以正常工作。

你知道爲什麼會發生這種情況嗎?

由於提前, 全勝

回答

3

有2個可能的原因發生這種情況:

  1. 您正在使用的許可證密鑰庫的錯誤版本,用於檢查許可證文件。 對於iText 5,該庫被稱爲itextsharp.licensekey.dll並具有iTextSharp的根名稱空間。另一方面,對於iText 7,它被稱爲itext.licensekey.dll並具有根名稱空間itext。 與PM command Install-Package itext7.licensekey一起安裝的https://www.nuget.org/packages/itext7.licensekey的NuGet包是iText 7許可證的正確許可證密鑰庫。

  2. 你手動添加許可證密鑰庫正確的,但你沒有以正確的方式添加它,以便您的項目知道在哪裏可以找到它。這就是NuGet Package Manager的便利性:它確保您的庫以正確的方式添加。我從來沒有用過自己的.NET,所以我不能深入細節,但就我的理解而言,就依賴管理而言,NuGet有點像.NET世界的Maven。

順便說一句,因爲你是一個iText的客戶提供一個有效的許可證密鑰,你可能也有一個支持合同,你應該詢問在iText的JIRA許可證的問題。我無法根據您的姓名找到您的登錄名,每個客戶最多可以註冊3個有資格獲得支持的聯繫人。請諮詢貴公司購買iText許可證的人員。

或者您正在使用時間限制試用許可證,在這種情況下,您也可以聯繫iText Sales瞭解有關許可證的問題。

+0

你好阿梅代範Gasse, 我想通了,如果我加載DLL (itext.licensekey.dll),它不起作用。 你知道GAC和本地的負載有什麼不同嗎? 我部署了正確的dll(itext.licensekey.dll)到gac 謝謝,Toan –

+0

請打開支持票。 –

0

我已反編譯iText的DLL和在iText.Kernel.Version類弄清楚,方法的GetInstance:

string str = "iText.License.LicenseKey, itext.licensekey"; 
string str1 = "GetLicenseeInfo"; 
Type type = Type.GetType(str); 
if (type == null) 
{ 
    Version.version.AddAGPLPostfix(null); 
} 

變量類型爲空。 請檢查here更多信息,如何從GAC 獲得DLL中的解決方案看起來應該 我想正確的字符串應該是這樣的

string str = "iText.License.LicenseKey, itext.licensekey, Version=2.0.2.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca"; 
+0

無需反編譯,您可以在https://github.com/itext/itext7-dotnet/blob/develop/itext/itext.kernel/itext/kernel/Version.cs找到源代碼。 –