Использование расширения модуля в Outlook

Я создаю надстройку Outlook и хочу опробовать новое расширение модуля. Однако, следуя примеру из: https://dev.office.com/docs/add-ins/outlook/extension-module-outlook-add-ins, я получаю сообщение об ошибке при создании манифеста.

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
    ...
  </VersionOverrides>
</VersionOverrides>

ошибка возникает на втором VersionOverrides с сообщением:

«Элемент VersionOverrides в пространстве имен http: // schemas microsoft com / office / mailappversionoverrides имеет недопустимый дочерний элемент VersionOverrides в пространстве имен http: // schemas microsoft com / office / mailappversionoverrides / 1.1. Список возможных элементов ожидается: «Описание, требования, хосты» в пространстве имен «http: // schemas microsoft com / office / mailappversionoverrides».

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

Мне кажется странным включать переопределение версии внутри переопределения версии, но если я каким-либо образом изменю первое, VS не примет его как следование схеме. Точно так же, если я не включу второе переопределение версии, VS выдаст следующую ошибку:

«Это недопустимый xsi: type 'http: // schemas microsoft com / office / mailappversionoverrides: Module'».

Остальная часть манифеста почти симметрична примеру из officeDev, за исключением таких элементов, как Title и Id.

Что я делаю неправильно?


person Anders Looft    schedule 27.10.2016    source источник


Ответы (2)


лично я перестал использовать проверку XSD из Visual Studio с манифестом надстройки. Но вам следует обновить файл XSD для проверки схемы XML для поддержки переопределений новой версии. Проверьте следующие ресурсы:

Кроме того, вам следует позаботиться о следующей ситуации при использовании модулей. Вот еще один пример объявления модулей на GitHub.

person Benoit Patra    schedule 27.10.2016
comment
Большое спасибо за быстрый ответ. Я пробовал то, что вы опубликовали, но безрезультатно. Я все еще получаю ту же ошибку. Я убедился, что используется новый .xsd и что все, от VS до Office.js, обновлено. У меня должна быть подходящая версия Outlook, но я даже не могу запустить программу, поэтому не могу быть уверен. Это более новая версия, чем упомянутая в сообщении. Глядя на опубликованный вами пример, для меня это та же проблема :( - person Anders Looft; 27.10.2016
comment
@AndersLooft, глядя на тот же пример, который вы опубликовали, вы имеете в виду, что вы не можете загружать модули в своем Outlook, или это только проверка XML? - person Benoit Patra; 27.10.2016
comment
Я не пробовал загружать неопубликованные файлы, если вы это имеете в виду? Моя основная проблема - заставить VS запустить мое приложение. - person Anders Looft; 27.10.2016
comment
Вы должны определенно отделить VS от вашего надстройки. Надстройка на самом деле представляет собой просто XML-файл, который сообщает Outlook, каков URL-адрес веб-страницы надстройки. Напомним, что вы добавляете только веб-страницу с небольшой библиотекой javascript (office.js), которая заполняет промежуток между вашей веб-страницей надстройки и хостом приложения (Outlook). Я предполагаю, что вы пишете проект ASP.net, поэтому вы должны иметь возможность выбрать этот веб-проект asp.net в качестве проекта запуска, запустить и просмотреть URL-адрес отсюда (что-то вроде localhost: XXX). Затем установите манифест вручную (убедитесь, что URL-адреса начинаются с localhost: XXX) - person Benoit Patra; 27.10.2016
comment
В этом репозитории github.com/jasonjoh/command-demo Readme.md объясняет, как установить манифест вручную (из веб-приложения Outlook). Интерфейс изменился со времени появления снимков экрана, теперь вы должны увидеть небольшие строки. Нажмите здесь, чтобы установить настраиваемое дополнение. Примечание: это репо вообще не использует Visual Studio, вам действительно не нужен VS для разработки веб-надстроек. Вам нужен VS для веб-проекта ASP.net. - person Benoit Patra; 27.10.2016
comment
Я могу подтвердить, что использование Visual Studio для создания надстройки модуля не поддерживается. (по крайней мере, если вы нажимаете кнопку «Выполнить» и пытаетесь заставить его работать именно так). Вы все равно можете создать файл в VS, если хотите. Вместо этого вы должны создать XML как файл, а затем загрузить его, как указано выше. Если у вас все еще есть проблемы, можете ли вы загрузить XML-манифест, который вы пытаетесь загрузить, чтобы мы могли его изучить? - person Tim Wan; 28.10.2016
comment
pastebin.com/wd1ibyeG Это файл XML. У меня проблемы с банкоматом Azure, поэтому я не могу развернуть его прямо сейчас, но я сообщу об этом как можно скорее. Я разработал несколько других офисных надстроек, и никогда не сталкивался с этой проблемой, было бы обидно, если бы мне приходилось развертывать ее каждый раз, когда я хотел ее протестировать: S - person Anders Looft; 28.10.2016
comment
Последующие действия: я могу развернуть приложение и загрузить его. Оно работает. Думаю, мне просто нужно развертывать его каждый раз, когда я вношу изменения / нуждаюсь в тестировании? На dev.office.com В / docs / add-ins / outlook / говорится Примечание. Расширения модулей доступны только в Office 2016. - Означает ли это, что они не работают в онлайн-офисе? - person Anders Looft; 28.10.2016
comment
@AndersLooft Я просмотрел ваш манифест. IMHO не используйте материал ~ remoteAppUrl. Используйте простой старый URL-адрес localhost для localdev (например, https://localhost:XXXX) с именем вашего надстройки, которое показывает, что он предназначен для отладки (например, TimeTurtleLocalDebug), и ‹ID›, который предназначен только для локального разработчика. Создайте сценарий, который исправит XML и заменит эти значения реальными производственными значениями: https://prod.timeturtle.com, TimeTurte, Guid ID для производства. Используйте только боковую загрузку, поэтому у вас будет два надстройки, которые могут жить бок о бок в вашем почтовом ящике, и вы сможете легко разрабатывать локально без путаницы. - person Benoit Patra; 28.10.2016
comment
Спасибо. Этот манифест был скопирован из источника VS, тот, который я развертываю, очевидно, имеет правильный адрес вместо ~ remoteAppUrl. Изменение версии VS не имеет смысла, поскольку VS не будет запускать ее без исправления VersionOverrides, как описано в OP. Я пометил эту проблему как решенную не потому, что я ее исправил, а потому, что ее можно было обойти. Большое тебе спасибо - person Anders Looft; 28.10.2016
comment
Ребята из VS проделали отличную работу с этим проектом надстройки Office, они создали цели сборки, так что вы можете тестировать, просто создавая проект. Это круто для первой попытки (и для подключения отладчика JS VS). Все работает "из коробки". Но со временем у вас появится локальная среда разработки, pre-prod, prod-среда, непрерывная интеграция и т. Д., Этот подход, основанный на VS, на самом деле не адаптирован. Я больше не использую этот проект VS Office Addin. - person Benoit Patra; 28.10.2016

Для создания манифеста надстройки Visual Studio не требуется. Манифест - это простой XML-файл, который вы также можете создать в блокноте и просто загрузить со своей страницы управления интеграциями (ранее управляли надстройками).

VS XSD не может быть обновлен для поддержки VO1.1. Вы можете создать XML в VS и не беспокоиться об ошибке VersionOverride из-за его проверки XSD.

Просто установите XML из раздела управления интеграциями с помощью параметра Добавить из файла, и все будет в порядке!

person AnOberoi    schedule 04.12.2016