Поделиться через


Устранение ошибок разработки в надстройках Office

Ниже приведен список распространенных проблем, которые могут возникнуть при разработке надстройки Office.

Совет

Очистка кэша Office часто устраняет проблемы, связанные с устаревшим кодом. Это гарантирует отправку последнего манифеста с использованием текущих имен файлов, текста меню и других командных элементов. Дополнительные сведения см. в статье Очистка кэша Office.

Надстройка не загружается в область задач или возникают другие проблемы с манифестом надстройки

Сведения об отладке проблем с манифестом см. в статьях Проверка манифеста надстройки Office и Отладка надстройки с помощью журнала среды выполнения.

Настройки ленты не отображаются должным образом

  • Когда надстройка загружена и запущена, вставьте URL-адреса значков ленты надстройки в панель навигации браузера и посмотрите, открыты ли файлы значков.

  • По умолчанию ошибки надстройки, подключенные к пользовательскому интерфейсу Office, подавляются. Эти сообщения об ошибках можно включить, выполнив следующие действия.

    1. После удаления надстройки откройте вкладку Файл приложения Office.
    2. Выберите Параметры.
    3. В диалоговом окне Параметры выберите Дополнительно.
    4. В разделе Общие ( раздел Разработчики для Outlook) включите параметр Показывать ошибки пользовательского интерфейса надстройки.

    Загрузите неопубликованную надстройку еще раз и посмотрите, есть ли ошибки.

Изменения команд надстройки, в том числе кнопок ленты и элементов меню, не отображаются

Очистка кэша позволяет убедиться, что используется последняя версия манифеста надстройки. Чтобы очистить кэш Office, следуйте инструкциям в разделе Очистка кэша Office. Если вы используете Office в Интернете, очистите кэш браузера с помощью пользовательского интерфейса браузера.

Команды надстроек из старых надстроек разработки остаются на ленте даже после очистки кэша

Иногда кнопки или меню из надстройки, которую вы разрабатывали в прошлом, появляются на ленте при запуске приложения Office даже после очистки кэша. Попробуйте следующие методы:

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

Изменения статических файлов, таких как JavaScript, HTML и CSS, не отображаются.

Браузер может кэшировать эти файлы. Чтобы избежать этого, отключите кэширование на стороне клиента при разработке. Сведения будут зависеть от того, какой тип сервера вы используете. В большинстве случаев необходимо добавить определенные заголовки в HTTP-ответы. Мы предлагаем следующий набор.

  • Cache-Control: "private, no-cache, no-store"
  • Pragma: "No-cache"
  • Expires: "-1"

Пример использования на сервере Node.JS Express см. в этом файле app.js. Пример использования в проекте ASP.NET см. в этом файле cshtml.

Если надстройка размещена на сервере Internet Information Server (IIS), можно также добавить указанные сведения в файл web.config.

<system.webServer>
  <staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.00:00:00" cacheControlCustom="must-revalidate" />
  </staticContent>

Если сначала эти действия безуспешны, вам, возможно, потребуется очистить кэш браузера. Сделайте это в интерфейсе браузера. Иногда очистить кэш браузера Microsoft Edge, используя пользовательский интерфейс, не удается. В таком случае выполните следующую команду в командной строке Windows.

del /s /f /q %LOCALAPPDATA%\Packages\Microsoft.Win32WebViewHost_cw5n1h2txyewy\AC\#!123\INetCache\

Изменения, внесенные в значения свойств, не происходят, и сообщение об ошибке отсутствует

Ознакомьтесь со справочной документацией по свойству, чтобы узнать, доступно ли оно только для чтения. Кроме того, определения TypeScript для Office JS указывают, какие свойства объекта доступны только для чтения. При попытке задать свойство, доступное только для чтения, операция записи завершится ошибкой без возникновения ошибок. В следующем примере ошибочно пытается задать свойство только для чтения Chart.id. См. также Некоторые свойства не могут быть заданы напрямую.

// This will do nothing, since `id` is a read-only property.
myChart.id = "5";

Появляется сообщение об ошибке "Эта надстройка больше недоступна"

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

  • Если вы используете Visual Studio, может возникнуть проблема с загрузкой неопубликованных приложений. Закройте все экземпляры узла Office и Visual Studio. Перезапустите Visual Studio и повторите попытку нажатия клавиши F5.
  • Манифест надстройки был удален из расположения развертывания, например централизованного развертывания, каталога SharePoint или сетевого ресурса.
  • Значение элемента ID в манифесте было изменено непосредственно в развернутой копии. Если по какой-либо причине вы хотите изменить этот идентификатор, сначала удалите надстройку из узла Office, а затем замените исходный манифест измененным манифестом. Многие из вас должны очистить кэш Office, чтобы удалить все трассировки исходного. Инструкции по очистке кэша для операционной системы см. в статье Очистка кэша Office .
  • Манифест надстройки имеет объект , resid который не определен ни в одном из разделов Resources манифеста, или имеется несоответствие в написании resid между тем, где он используется, и где он определен в <разделе Ресурсы> .
  • В манифесте resid есть атрибут с более чем 32 символами. Атрибут resid и id атрибут соответствующего ресурса в <разделе Ресурсы> не могут содержать более 32 символов.
  • Надстройка имеет настраиваемую команду надстройки, но вы пытаетесь запустить ее на платформе, которая не поддерживает их. Дополнительные сведения см . в разделе Наборы обязательных наборов команд надстройки.

Надстройка не работает в Edge, но работает в других браузерах

См. статью Устранение неполадок EdgeHTML и WebView2 (Microsoft Edge).

Надстройка Excel выдает ошибки, но не согласованно

Возможные причины см. в статье Устранение неполадок с надстройками Excel .

Надстройка Word выдает ошибки или отображает неработающее поведение

Возможные причины см. в статье Устранение неполадок с надстройками Word .

Ошибки проверки схемы манифеста в проектах Visual Studio

Если вы используете новые функции, требующие изменений в файле манифеста, в Visual Studio могут возникнуть ошибки проверки. Например, при добавлении< элемента Runtimes> для реализации общей среды выполнения может появиться следующая ошибка проверки.

Элемент Host в пространстве имен "http://schemas.microsoft.com/office/taskpaneappversionoverrides" имеет недопустимый дочерний элемент Runtimes в пространстве имен "http://schemas.microsoft.com/office/taskpaneappversionoverrides"

В этом случае можно обновить XSD-файлы, которые использует Visual Studio, до последних версий. Последние версии схемы находятся в [MS-OWEMXML]: Приложение A. Полная схема XML.

Поиск XSD-файлов

  1. Откройте проект в Visual Studio.
  2. В обозревателе решений откройте файл manifest.xml. Манифест обычно находится в первом проекте решения.
  3. Выберите Просмотр>окна свойств (F4).
  4. Задайте выбор курсора в manifest.xml, чтобы в окне Свойства отображались свойства XML-документа .
  5. В окне Свойства выберите свойство Schemas , а затем щелкните многоточие (...), чтобы открыть редактор XML-схем . Здесь можно найти точное расположение папок всех файлов схемы, используемых проектом.

Окно свойств, показывающее свойства XML-документа.

Обновление XSD-файлов

  1. Откройте XSD-файл, который требуется обновить, в текстовом редакторе. Имя схемы из ошибки проверки будет сопоставляться с именем XSD-файла. Например, откройте TaskPaneAppVersionOverridesV1_0.xsd.
  2. Найдите обновленную схему по адресу [MS-OWEMXML]: Приложение A. Полная схема XML. Например, TaskPaneAppVersionOverridesV1_0 находится в схеме taskpaneappversionoverrides.
  3. Скопируйте текст в текстовый редактор.
  4. Сохраните обновленный XSD-файл.
  5. Перезапустите Visual Studio, чтобы получить новые изменения XSD-файла.

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

При работе в автономном режиме API Office не работают

При загрузке библиотеки JavaScript для Office из локальной копии, а не из CDN, API-интерфейсы могут перестать работать, если библиотека не обновлена. Если вы некоторое время не были в проекте, переустановите библиотеку, чтобы получить последнюю версию. Процесс зависит от интегрированной среды разработки. Выберите один из следующих параметров в зависимости от среды.

См. также