2015-10-06 2 views
2

Я использую itextsharp 5.5.4 в приложении C# и из-за некоторых осложнений в pdf я хочу обновить до 5.5.7.Обновление iTextsharp 5.5.4 до 5.5.7 в C#

Мой вопрос: могу ли я заменить существующую версию на новую или мне нужно перестроить приложение с помощью последней dll.

Заранее спасибо.

+1

Как насчет просто попробовать? C# заботится о сигнатуре параметра, поэтому запуск будет неудачным, если API будет иметь несовместимое изменение. Обычно такие незначительные различия в версии не должны быть проблемой –

+0

Если у вас нет этого в вашем файле proj как «использовать определенную версию», и нет изменений версии, или вы не ссылаетесь на эти измененные фрагменты, вы должны быть alright ... –

ответ

1

В зависимости от того, используете ли вы NuGet или ссылаетесь на DLL напрямую, вы должны иметь возможность выполнять обновление на месте, если API не изменился значительно. Я бы рекомендовал NuGet для управления зависимостями и обновлениями, но если у вас есть прямая ссылка, вы можете просто обновить ссылку на новую версию.

+0

У меня есть прямой ref для этой DLL, и когда я обновил его с новой версией, я получил ошибку, так как не смог загрузить файл или сборку 'itextsharp, Version = 5.5.7.0, Culture = neutral, PublicKeyToken = 8354ae6d2174ddca' или один из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) –

1

Я бы сказал - это зависит.

Вы не можете знать, совместима ли библиотека в обратном порядке. Некоторые метаданные могут быть встроены в вашу DLL, которая изменится с новой версией.

Более того, у вас могут быть определенные привязки к версии, что может сломать ваше приложение с новой версией iTextSharp.

Если библиотека установлена ​​в GAC, для нее потребуется установка новой версии.

0

Вы не можете заменить его напрямую (может быть, вы можете, см. Ниже), вам придется перекомпилировать ваше приложение. API тот же, у вас не будет проблем.

Другой вариант - использовать <assemblyBinding> в файле конфигурации, чтобы обмануть приложение, приняв сборку с другой версией. См. https://msdn.microsoft.com/en-us/library/twy1dw1e%28v=vs.110%29.aspx.

Смежные вопросы