我有一个简单的 VSTO Outlook 插件。我通过这篇文章添加了一个空功能区,它可以工作。
和文件当前驻留在我Ribbon.cs
的Ribbon.xml
项目的根目录中,但如果我将它们移动到子文件夹(例如AddIn\Ribbon
),则不会出现编译错误,但是当我运行 Outlook 时,插件的功能区丢失了。玩弄它,似乎 Ribbon.xml 必须保留在我项目的根目录中才能显示功能区。
我不明白这种行为;是否有手动引用插件功能区位置的设置或其他内容?
谢谢!
我有一个简单的 VSTO Outlook 插件。我通过这篇文章添加了一个空功能区,它可以工作。
和文件当前驻留在我Ribbon.cs
的Ribbon.xml
项目的根目录中,但如果我将它们移动到子文件夹(例如AddIn\Ribbon
),则不会出现编译错误,但是当我运行 Outlook 时,插件的功能区丢失了。玩弄它,似乎 Ribbon.xml 必须保留在我项目的根目录中才能显示功能区。
我不明白这种行为;是否有手动引用插件功能区位置的设置或其他内容?
谢谢!
我重新审视后发现:添加新的功能区 (XML) 项后,有一个生成的函数GetCustomUI
使用 XML 文件的路径作为文件程序集资源中的查找键。
因此,在移动文件时,您应该将调用更改为GetResourceText
:
return GetResourceText("MyAddin.Ribbon.xml");
像这样:
return GetResourceText("MyAddin.Ribbons.Ribbon.xml");
您需要这个,因为 xml 文件作为项目文件中的资源链接,该文件应具有如下行:
<EmbeddedResource Include="Ribbons\Ribbon.xml" />