如何为VSTO加载项显示我的GUID

Lar*_*sky 6 c# vsto guid outlook-addin

我已经尝试将以下代码添加到我的加载项代码的开头:

Namespace NS
    [Guid("211B3945-E2AE-48DD-8A9A-77ADB40EC6D5")]
    [ComVisible(true)]
    public partial class Classname
    {
Run Code Online (Sandbox Code Playgroud)

但是当我列出COMAddins(名称没有,但不是GUID)时它不会出现.

我也尝试在程序集信息下的编译设置中设置它,但没有运气.

BTW - 我正在尝试解决的问题是通过搜索其GUID来加载COM Addin.该加载项的描述显示,当我检查ComAddIns的名单,但GUID仍然显示零无论我如何按照这些指示.我正在尝试使用以下代码查看可见内容:

olApp = this.Application;
Office.COMAddIns CAIs = olApp.COMAddIns;
foreach (Office.COMAddIn CAI in CAIs)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine(CAI.Description);
    sb.AppendLine(CAI.Guid);
    sb.AppendLine("****");
    Debug.Print(sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)

Tod*_*ain 1

这里缺少一些暴露 COM 的东西,包括覆盖RequestComAddInAutomationService和设置[InterfaceType(ComInterfaceType.InterfaceIsDual)]

请参阅以下项目:

  1. VSTO 加载项、COMAddIns 和 RequestComAddInAutomationService
  2. VBA 中的 VSTO:AddIn.Object 有时返回 Nothing (null)

  • 顺便说一句 - 我试图解决的问题是查看 COM 插件是否通过搜索其 GUID 来加载。当我检查 ComAddIn 列表时,会显示 Addin 描述,但无论我如何遵循这些说明,GUID 仍然显示零 (2认同)