如题,如果还没懂我的意思,如下:
我要做office2007中可用的自定义控件,试过以MFC ActiveX项目方式(C++)生成.ocx文件,符合要求。
但因个人技术专长限制,现在想以C#的用户控件库项目开发ActiveX控件,在安装项目中主输出前述库项目时会出现错误提示:“项目输出组“主输出来自’WindowsFormsControlLibrary1(活动)‘中的程序集’WindowsFormsControlLibrary1.dll‘不能是自行注册的”。我在安装项目中的主输出的Register属性设置为了vsdrpCOMSelfReg。
找到资料说VC中 OLESelfRegister 要设置为程序集的版本属性,不知道C#中有无类似属性。
参考这个 http://stackoverflow.com/questions/924504/how-to-write-a-self-registering-activex-control-in-c DLR的引入可以解决这个问题
感谢回复。
但我是想开发能插入OLE文档(如ppt)中的控件,而这个ActiveX需要是“自行注册”(这个提示来自office2007ppt手动注册自己C#编译的用户控件库dll时)。
现在看资料说.net程序因为入口点mscoree.dll,因此不能创建这类控件。
我正在研究非托管做代理引用托管程序了,绕路了。。
@丁小贝: 你好,我现在也遇到这个问题,可以跟我说说怎么解决的吗?我的ActiveX在 html页面上可以显示,但在PPT中 添加了一个控件,但是内容没有,点击属性 就说无法找到服务器应用程序、源文件。
C#程序不能创建非托管程序,非得用非托管程序来作为代理才行。原始的MFC ActiveX开发走起~~