Установите тестовый и производственный надстройки одновременно - PullRequest
0 голосов
/ 07 января 2020

У меня есть довольно сложное дополнение для Outlook, которое мы разработали для нашей компании.

Те же пользователи, которые используют его в производстве, также являются тестировщиками.

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

Мне бы хотелось следующее:

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

  2. Используйте другой значок для тестовой версии; возможно просто наложите «test» на иконку.

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

Что это изящный способ добиться этого?

Ответы [ 2 ]

1 голос
/ 07 января 2020

Компилятор C# cs c .exe и сам язык C# не предоставляют никаких предопределенных констант для условной компиляции. Visual Studio добавляет только значения DEBUG и TRACE, которые можно настроить в среде IDE. Среда IDE также позволяет добавлять собственные произвольные символы, но, поскольку они являются по существу фиксированными (инвариантными) значениями, возможности ограничены.

Условную компиляцию можно использовать следующим образом - конфигурация DEBUG может быть используется для тестирования надстройки:

#if DEBUG
   [assembly: AssemblyTitle("TestAddin")]
   [assembly: AssemblyProduct("TestAddin")]
   [assembly: Guid("d85ca54b-7e1f-4214-beaa-10694acda6ed")]
#else
   [assembly: AssemblyTitle("ReleaseAddin")]
   [assembly: AssemblyProduct("ReleaseAddin")]
   [assembly: Guid("d85cd50b-7e2f-4214-beaa-10698acdf6ed")]
#endif

Подробнее об атрибутах сборки см. в статье Установить атрибуты сборки .

1 голос
/ 07 января 2020

Вы сможете установить один и тот же модуль outlook дважды:

1) Изменив заголовок AssemblyInfo.cs, Product и его Guid.

e.g.

[assembly: AssemblyTitle("AddIn1")]
[assembly: AssemblyProduct("AddIn1")]

[assembly: Guid("d85cd50b-7e2f-4214-beaa-10698acdf6ed")]

2) Вам также необходимо изменить имя сборки на вкладке «Приложение».

Таким образом, сделав два разных проекта с разными загруженными значками и с другим именем сборки, вы сможете добиться этого.

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