Outlook VSTO中的自定义功能区;缺少';如果不在VSTO项目中';s的根

本文关键字:VSTO 的根 如果不 项目 缺少 自定义 功能区 Outlook | 更新日期: 2023-09-27 17:58:17

我有一个基本的VSTO Outlook外接程序。我通过这篇文章添加了一个空的Ribbon,它很有效。

Ribbon.csRibbon.xml文件当前位于我的项目根目录中,但如果我将它们移动到子文件夹(如AddIn'Ribbon),则不会出现编译错误,但当我运行Outlook时,加载项的功能区会丢失。摆弄它,Ribbon.xml似乎必须留在我项目的根目录中才能显示Ribbon。

我不理解这种行为;是否有手动引用加载项功能区位置的设置或其他内容?

谢谢!

Outlook VSTO中的自定义功能区;缺少';如果不在VSTO项目中';s的根

我重新审视后发现:添加新的Ribbon(XML)项后,生成了一个函数GetCustomUI,它使用XML文件的路径作为程序集资源中该文件的查找键。

因此,在移动文件时,应该将调用从以下内容更改为GetResourceText

   return GetResourceText("MyAddin.Ribbon.xml");

类似的东西:

   return GetResourceText("MyAddin.Ribbons.Ribbon.xml");

您需要这样做,因为xml文件被链接为项目文件中的资源,项目文件应该有这样一行:

  <EmbeddedResource Include="Ribbons'Ribbon.xml" />