2013-06-20 4 views
2

Я пользуюсь приложением winforms, которое использует элементы управления DevExpress.Winforms Devexpress application deployment

Это было хорошо на компьютерах разработки, но когда я пытаюсь развернуть приложение на компьютере-клиенте, это не сработает, потому что я думаю, что он не может загрузить DLL devexpress.

Даже я делаю все dll's на свойства-> publish-> application files как включительно, это не сработало.

Затем я установил компоненты Devexpress на целевой компьютер и начал работать. Как я могу заставить приложение работать на клиентских компьютерах без установки devexpress component library?

+0

Вы должны установить ** Devistress ** ** для переустановки ** (см. [Этот документ] (http://help.devexpress.com/#WindowsForms/CustomDocument3124)). –

+0

Я установил его на компьютер разработки, но мне также нужно установить его на каждый клиентский компьютер? – gesus

+2

На компьютере разработки вы устанавливаете полный пакет (библиотека, поддержка времени разработки, примеры и все остальное). В клиентском компьютере вы устанавливаете только redists (без поддержки дизайна, без кода, без примеров, без документов) в соответствии с вашим лицензионным соглашением. Начните с ссылки, которую я опубликовал, чтобы понять, какие DLL вы должны переделать. Для ** install ** их нужно не просто скопировать где-нибудь (если _somewhere_ не является папкой приложения), вам лучше поместить их в GAC. Ваш конструктор настроек должен управлять всеми этими зависимостями (или вы используете обычное xcopy deploy?) –

ответ

7

Вы упомянули, что вы отметили их в недвижимость -> Публикация -> Application Files. По большей части файлы будут помечены как отмеченные, но есть некоторые, которые могут сказать «Предварительное условие (Авто)», и вам придется явно отмечать их как Include. В приведенном примере скриншоте ниже, вы должны изменить DevExpress.SpellChecker от Предпосылки Включить:

enter image description here

Вы также можете проверить «Показать все файлы» флажок в этом же диалоге и посмотреть, если есть любые перечисленные явно не помечены как Исключенные.

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

0

В вашей установке для установки DevExpress Папка - это подпапка Bin \ Framework. У вас есть развертывание dll, которое вы используете в своем приложении вместе с ним.

Edit: вы должны также рассмотреть замечание Адриано

+0

Я полностью скопировал эту папку на целевой компьютер без установки компонентов DevExpress, но это не сработало. Может быть, есть некоторые вещи реестра? – gesus

+0

При копировании dll в место, где находится ваш exe-файл, вам не нужна регистрация. Если вы копируете в другое место, вам нужно расширить переменную win-path (win searchpath). – Micha

0

Если вы просто копируете приложение из папки bin, просто найдите DLL DevExpress в разделе «Ссылки» в своем решении и измените свойство «CopyLocal» на «true».

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