2016-11-22 5 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. Пакет NuGet на https://www.nuget.org/packages/itext7.licensekey, который вы установили с PM command Install-Package itext7.licensekey, является правильной библиотекой лицензионных ключей для вашей лицензии iText 7.

  2. Вашей вручную добавить лицензионный ключ библиотеки является правильно, но вы не добавить его в правильном направлении так, что ваш проект знает, где его найти. Это удобство диспетчера пакетов NuGet: он гарантирует, что ваши библиотеки будут добавлены правильно. Я никогда не использовал .NET самостоятельно, поэтому я не могу вдаваться в подробности, но, на мой взгляд, NuGet похож на Maven мира .NET, поскольку это касается управления зависимостями.

Кстати, потому что вы являетесь клиентом IText с действительным лицензионным ключом, вы, вероятно, также есть контракт на поддержку, и вы должны задавать вопросы о вашей лицензии в IText JIRA. Я не могу найти ваш логин на основе вашего имени, каждый клиент может зарегистрировать до трех контактов, имеющих право на поддержку. Пожалуйста, свяжитесь с лицом в вашей компании, которое приобрело лицензию iText.

Или вы используете пробную версию с ограниченным сроком действия, и в этом случае вы также можете связаться с iText Sales по вопросам о лицензии.

+0

Привет Amedee Ван Гассе, я понял, что если я загружаю DLL (itext.licensekey.dll) от GAC, он не работает. Знаете ли вы разницу между нагрузкой от GAC и локальной? Я развернул правильную dll (itext.licensekey.dll) до gac Спасибо, Toan –

+0

Пожалуйста, откройте билет поддержки. –

0

Я декомпилировали IText DLLs и выяснить, в классе 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 для получения дополнительной информации, как получить DLL из GAC Решение должно выглядеть, что я думаю правильная строка должна быть, как это

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 –