Почему этот пользовательский интерфейс backstage для Word не отображает пользовательский интерфейс?
у меня есть Office addin, который использует следующий backstage XML для добавления пользовательских элементов пользовательского интерфейса в Microsoft Word backstage:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<backstage onShow="Backstage_OnShow">
<tab idMso="TabSave">
<firstColumn>
<taskFormGroup idMso="SaveGroup">
<category idMso="Save">
<task id="myCustomTask" label="My Custom Task" insertAfterMso="ButtonTaskDynamicServiceProvider">
<group id="myGroupInTabSave" label="Custom functionality" helperText="This group contains custom functionality.">
<primaryItem>
<button id="myButton" label="My Button" onAction="CallMe" />
</primaryItem>
</group>
</task>
</category>
</taskFormGroup>
</firstColumn>
</tab>
</backstage>
</customUI>
это базовый сценарий, описанный здесь для изменения диалогового окна Сохранить как.
на моей машине он ничего не показывает под Save As. Однако я вижу, что при отображении backstage вызывается следующая функция:
public void Backstage_OnShow(object contextObject) {
// It hits this method.
}
Каковы некоторые из причин, почему интерфейс не покажет, а также, как я могу отладить то, что здесь происходит? Я попытался включить Show add-in user interface errors
на вкладке "Дополнительно" параметров Word, в разделе "Общие", но он не отображает никаких ошибок для меня, насколько я могу судить.
не уверен, что это помогает, Но наша лента наследует IRibbonExtensibility
.
мы также обнаружили, что эта логика иногда работает на некоторых машинах, но не на других. Я не знаю, почему...одна вещь, которую я могу сказать вам, что определенно отличается от того, что типы для этого добавления зарегистрирован в regasm
вместо того, чтобы addin устанавливается с помощью path|vstolocal
раздел реестра в реестре Outlook. Другими словами, мы используем regasm
для установки надстройки.
редактировать: я пробовал предложенный ответ, но он все еще не работает с учетом этого подхода. Моя команда и я на данный момент убеждены, что это серьезная ошибка VSTO, и мы подготовили проект для ее демонстрации. Этот проект демонстрирует закулисные ошибки с Windows 10 Pro 64-разрядная версия 1607 (OS build 14393.351) и 32-разрядное слово 2016 16.0.7426.1009 (Office 2016 32-разрядная версия 1610, build 7466.2023): https://github.com/Murdoctor/WordAddin1
если вы запустите этот образец в той же или подобной среде, вы увидите, что если вы нажмете вкладку Home в верхней части Word, вы увидите кнопку, которая определена вhttps://github.com/Murdoctor/WordAddin1/blob/master/WordAddIn1/Ribbon1.xml, но, если вы открываете backstage вы не видите вкладку образца, которая должна быть вставлена после вкладки info,TabInfo
(этот скриншот был сделан с помощью сборки выпуска, запущенной в режиме отладки непосредственно из Visual Studio, и я вижу, что addin зарегистрирован и все такое):
единственное ,что вы увидите, это (это также доказательство того, что addin запущен и зарегистрирован на своем локальном VSTO файл):
редактировать: это также влияет на 64-разрядный Office. Я только что установил Word 2016 16.0.7426.1009 (Office 2016 64-разрядная версия 1610, сборка 7466.2023) думая, что изменение на x64 может помочь, но я все еще испытываю ту же проблему на своей машине.
редактировать: это также влияет на сегодняшний выпуск Windows 10 Pro x64 версии 1607, сборка 14393.447. Кроме того, я пробовал отключение всех других дополнений, все то же самое.
1 ответов
Это ошибка с Office. Я могу подтвердить в своей среде, это снова сработало после обновления Word вручную с помощью обновление 8 ноября который вчера вышел. Это обновление не появилось, когда я попытался найти обновления в Windows 10, вместо этого мне пришлось установить его следующим образом:
внутри слово, нажмите кнопку открыть закулисье.
нажмите на кнопку Параметры Обновления раскрывающийся.
выберите Обновить.
после обновления до версии Office 1610, построить 7466.2038, эта ошибка уходит: