LicenseKey.LoadLicenseFile不適用於SharePoint項目。IText7許可證不適用於SharePoint
當我創建一個控制檯工具並手動添加itext.licesekey.dll時,將生成沒有許可證的pdf文件。但如果我通過PM命令Install-Package itext7.licensekey添加它,它可以正常工作。
你知道爲什麼會發生這種情況嗎?
由於提前, 全勝
LicenseKey.LoadLicenseFile不適用於SharePoint項目。IText7許可證不適用於SharePoint
當我創建一個控制檯工具並手動添加itext.licesekey.dll時,將生成沒有許可證的pdf文件。但如果我通過PM命令Install-Package itext7.licensekey添加它,它可以正常工作。
你知道爲什麼會發生這種情況嗎?
由於提前, 全勝
有2個可能的原因發生這種情況:
您正在使用的許可證密鑰庫的錯誤版本,用於檢查許可證文件。 對於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許可證的正確許可證密鑰庫。
你手動添加許可證密鑰庫是正確的,但你沒有以正確的方式添加它,以便您的項目知道在哪裏可以找到它。這就是NuGet Package Manager的便利性:它確保您的庫以正確的方式添加。我從來沒有用過自己的.NET,所以我不能深入細節,但就我的理解而言,就依賴管理而言,NuGet有點像.NET世界的Maven。
順便說一句,因爲你是一個iText的客戶提供一個有效的許可證密鑰,你可能也有一個支持合同,你應該詢問在iText的JIRA許可證的問題。我無法根據您的姓名找到您的登錄名,每個客戶最多可以註冊3個有資格獲得支持的聯繫人。請諮詢貴公司購買iText許可證的人員。
或者您正在使用時間限制試用許可證,在這種情況下,您也可以聯繫iText Sales瞭解有關許可證的問題。
我已反編譯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";
無需反編譯,您可以在https://github.com/itext/itext7-dotnet/blob/develop/itext/itext.kernel/itext/kernel/Version.cs找到源代碼。 –
你好阿梅代範Gasse, 我想通了,如果我加載DLL (itext.licensekey.dll),它不起作用。 你知道GAC和本地的負載有什麼不同嗎? 我部署了正確的dll(itext.licensekey.dll)到gac 謝謝,Toan –
請打開支持票。 –