лучший контент о том, как развернуть и поделиться решением VSTO - PullRequest
14 голосов
/ 17 января 2010

благодаря использованию Visual Studio и DotNet с офисными решениями, особенно Excel, где представлена ​​лучшая статья или информация о том, как офисный лист с дополнительными двоичными файлами и сборками является совместным.

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

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

Ответы [ 3 ]

24 голосов
/ 01 марта 2010

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

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

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

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

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

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

Существует несколько способов развертывания настройки .

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

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

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

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

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

0 голосов
/ 10 марта 2016

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

  1. https://msdn.microsoft.com/en-us/library/ms268758(v=vs.90).aspx

  2. https://msdn.microsoft.com/en-us/library/ff937654.aspx

  3. Как назначить место сборки для установки Excel VSTO?

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

0 голосов
/ 21 января 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...