Лучший контент о том, как развернуть и разделить решение VSTO

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

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

Кажется, что Microsoft более 5 лет продвигает VSTO, но вы читаете множество смешанных обзоров и выпусков. Готовы ли мы к тому, что компании, которые делают большие решения VBA excel, могут полностью перейти на dotnet без каких-либо реальных забот?

Ответ 1

Прежде всего, я хочу ответить на ваш вопрос о том, готов ли VSTO к более крупным реализациям. Ответ: ДА! Особенно, если альтернативой является VBA. У вас есть вся инфраструктура .Net, вы можете использовать веб-службы ADO.Net(еще лучше, с корпоративной библиотекой). Вы все еще можете написать код, который очень похож на VBA, но гораздо более мощный. Вы можете получить дополнительную информацию, прочитав Пошаговое руководство. Создание вашей первой настройки уровня документа для Excel. Эта страница даст вам представление о том, какие функции VSTO доступны для вас.

Теперь, чтобы ответить на ваш вопрос о развертывании.

Это зависит от того, выполняете ли вы настройку надстройки или уровня документа. Если это надстройка, то вы должны установить ее на каждом клиенте, и любая обработка документов не повлияет на это (надстройки находятся на уровне приложения, а не на уровне отдельного документа).

Я предполагаю, что вы говорите о настройке уровня документа, поэтому я сосредоточу свой ответ на этом.

Когда вы создаете настройку уровня документа, сборки не загружаются в файл excel (как и в VBA). Вместо этого добавляется свойство документа, сообщающее приложению, что этот документ содержит файл манифеста (и сообщает ему о местоположении файла манифеста). Файл манифеста содержит ссылки на сборку, которая составляет вашу настройку.

Как и в любом приложении .Net, иногда есть другие (связанные) сборки, которые также необходимо развернуть. Не всегда эти сборки в GAC, поэтому они должны быть расположены в той же папке, что и ваша исполняющая сборка (в данном случае ваша сборка настройки). Однако вам необязательно размещать сборки в том же месте, что и ваш файл excel.

Есть несколько способов развернуть настройку.

  • Вы можете хранить все сборки и файл excel в папке и запускать приложение таким образом (если файл excel передан, пользователи должны пройти по всей папке).
  • Вы можете запустить программу установки, которая устанавливает сборки в определенную папку на компьютере пользователя, и указывает манифест в этом месте (если файл excel передан, пользователи также должны пройти программу установки).
  • Вы можете установить сборки в сетевом расположении и указать в свойствах документа, что манифест и сборки находятся в этом сетевом расположении (если файл excel передан, с ним ничего не нужно передавать, но есть настройки безопасности, которые необходимо выполнить. Прочитайте эту страницу для получения дополнительной информации).

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

Вам необходимо убедиться, что все ваши пользователи установлены. Самый простой способ сделать это - дать им всю программу настройки. Если вы создаете проект настройки для своей настройки, вы можете настроить загрузчик для автоматической установки необходимых предварительных условий. Вы также можете сделать это, если вы используете ClickOnce для установки настройки. Эта страница предоставит вам всю информацию, необходимую вам для ознакомления относительно развертывания.

Вот некоторые полезные ссылки, которые вам нужно увидеть:

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

Ответ 2

Я создал надстройку Excel и развернул ее на сервере. Затем я обошел две ссылки, файл setup.exe и ссылку на текущую Рабочую книгу. Файл рабочей книги никогда не менялся - целью было открыть и загрузить надстройку, которая была теперь в приложении "Установка и удаление программ". Само дополнение будет проверять наличие обновлений при запуске.

Итак, если они начнут рассылать по электронной почте книгу, отлично! Я верю в теорию, что книга будет загружать надстройку, если она отсутствует, но у меня нет нового компьютера, чтобы проверить это. Если это не так, это просто просто EXE для установки (который будет обновляться при запуске в любом случае, поэтому устаревшее не является проблемой).

Ответ 3

Для развертывания на уровне документа я рекомендую следующие три ссылки:

В отличие от решения на уровне приложения уровень документа имеет 2 специальных свойства: _AssemblyLocation и_AssemblyName, которые указывают позицию *.vsto. Чтобы установить эти свойства по пути установки, должен быть создан пользовательский проект действия для записи целевого пути при установке и упаковки вместе с setup.exe. Затем вы можете поместить свой файл excel в любом месте (на локальном компьютере) и открыть его правильным способом.