导致COM组件注册(在Visual Studio参考COM部分中显示)但在Office ActiveX组件中不可见的原因是什么?

我正在尝试向PowerPoint幻灯片中添加自定义activeX组件,我已经尝试了很多事情,我的PowerPoint版本是32位,现在我正在尝试使其尽可能简单。该项目是anycpu和.net 4.7。

VSTO不能满足我的需求,所以这不是一个选择(据我所知,它不允许您向幻灯片添加自定义控件)

[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("87622EEA-5A6A-4F1B-A56A-AC0F88603EF6")]
public interface IBasicactiveXSampleInterface
{
    string testOne();
}

[ClassInterface(ClassInterfaceType.None)]
[Guid("B2B334B3-2785-40C6-A3B9-1CEF9D7D4D94")]
[ProgId("EKATONXSampleProg")]
public class BasicactiveXSample : IBasicactiveXSampleInterface
{
    public string testOne()
    {
        return "test 1234";
    }
}

也在程序集级别声明:

[assembly: ComVisible(true)]

我禁用了在项目属性中注册COM的功能,并添加了postbuild事件,因为这可能是一个小问题,因此该项目同时通过.net 4 regasm(框架和框架64)进行了注册。

该组件在Visual Studio中的添加引用中显示在COM组件列表中,但是无论我做什么,它都不会在其他控件下的Powerpoint开发人员模式下显示(但其他控件也可以正常工作,我可以添加媒体播放器例如幻灯片)。

编辑:最终目标是要有一个可见的Winform控件来承载WPF内容,但是一旦我注册了用C#编写的activeX控件,我就会感到宾至如归,我尝试从头开始关于该主题的稀疏教程(几乎没有文档)全部失败,除非我的控件一次随机显示在列表中,并在添加错误提示Powerpoint无法读取注册表时崩溃。

我浏览过的页面列表无济于事:

https://www.codeguru.com/csharp/.net/net_general/comcom/article.php/c16257/Create-an-ActiveX-using-a-Csharp-Usercontrol.htm

https://codedocu.com/Office-365/Office/COM-Controls/Code_colon_-Create-your-own-ActiveX-Component-in-Visual-Studio-2017-and-Office-2016-365?2075

https://codedocu.com/Details_mobile?d=2382&z=1&t=Create+C%23+COM+Control+for+Office

li5125110 回答:导致COM组件注册(在Visual Studio参考COM部分中显示)但在Office ActiveX组件中不可见的原因是什么?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3127362.html

大家都在问