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