2013-09-12 2 views
4

У нас есть приложение службы Windows, который использует Aspose.Words.NET версию 11.10.0 Теперь мы недавно обновили версию библиотеки DLL Aspose.Words последнюю 13.7.0Обновления зависимой DLL без перекомпиляции всего приложения

Поскольку мы имеем уже развернуты наши приложения для работы с Windows в нескольких клиентах, мы попытались заменить старую базу данных Aspose.Words последней своей последней версией. Но когда мы перезапускаем существующее приложение Windows, оно не работает с заменой последней DLL Aspose.Words.

Мы разрешили его, перекомпилировав все приложение Windows, ссылаясь на последнюю версию dll aspose.Words. Требуется ли перекомпилировать и повторно развертывать наше приложение для всех приложений Windows каждый раз, когда мы обновляем dll Aspose.Words?

+1

См. Статью http://stackoverflow.com/questions/2771143/c-sharp-update-dll-without-recompiling-the-project для перенаправления сборок. – Samuel

+0

Большое спасибо. Я попробовал метод второго ответа, «Специфическая версия» уже установлена ​​в false. Но все-таки я получаю сообщение об ошибке, тогда как перенаправление связывания в конфигурационном файле работает нормально. Любая идея, что я делаю неправильно? – vijay

ответ

5

Проверьте также this answer on SO.

Необходимо обновить конфигурационные файлы на рабочем столе/веб-клиентах следующим образом.

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <publisherPolicy apply="no" /> 
     <assemblyIdentity name="Aspose.Words" publicKeyToken="716fcc553a201e56" /> 
     <bindingRedirect oldVersion="11.0.0.0-13.6.0.0" 
         newVersion="13.7.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

Обратите внимание, что могут быть изменения в API, которые могут привести к другим ошибкам. Например, метод или свойство, существовавшие в 11.0, были удалены в 13.7. Исключение будет вызываться, когда клиентское приложение вызывает конкретный метод/свойство. Итак, вы должны проверить в среде разработки, что новая версия не нарушит ваше приложение. Если это сработает, вы можете просто заменить старую DLL новой версией.

Файл конфигурации загружается во время выполнения, поэтому вы можете обновлять файлы конфигурации, в которых развертываются ваши приложения.

Я работаю в Aspose как разработчик-евангелист.

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