C# 如何在实例化的COM对象中自动打开windows窗体?

C# 如何在实例化的COM对象中自动打开windows窗体?,c#,com,C#,Com,你好。我有这个任务,我需要创建一个windows调试器表单,它将接受uiagent运行的javascript文件的请求。它将使用COM对象实现。我已经使用c#创建了一个COM对象并成功注册了它。我还成功地在java脚本文件中实例化了该COM对象,并且cal已经从我的COM对象执行了一个函数。我的问题是,从我的COM对象,当我的COM对象被实例化时,如何实例化windows窗体并自动打开该窗体 我所尝试的: 名称空间是RouterInterface 表单名为DebuggerforMexUI [Gu

你好。我有这个任务,我需要创建一个windows调试器表单,它将接受uiagent运行的javascript文件的请求。它将使用COM对象实现。我已经使用c#创建了一个COM对象并成功注册了它。我还成功地在java脚本文件中实例化了该COM对象,并且cal已经从我的COM对象执行了一个函数。我的问题是,从我的COM对象,当我的COM对象被实例化时,如何实例化windows窗体并自动打开该窗体

我所尝试的:

名称空间是RouterInterface

表单名为DebuggerforMexUI

[Guid("xxxxxxx")]
public interface IConnection
{
    void SendToDebugger(string rawData);
}

[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("xxxxxx")]
[Guid("xxxxxx")]
public class XConnection : IConnection
{
    static XConnection instance;

    public static XConnection Singleton
    {
        get { return instance; }
    }

    public XConnection()
    {
    #if STRICT_INSTANCE
        if (instance != null)
        {
            throw new InvalidOperationException("AppRouter should be singleton");
        }
    #endif
        instance = this;

        try
        {
            DebuggerforMexUI dbgr = new DebuggerforMexUI();  **// This will    generate an error. "Object reference not set to an instance of an object."**
        }
        catch(Exception ex)
        {
        }
    }

public void SendToDebugger(string rawData)
{

}

已经找到了解决方案。我刚刚在同一个COM项目下制作了一个新表单。因为之前,我尝试实例化的表单只是另一个项目的副本。谢谢。已经找到解决方案了。我刚刚在同一个COM项目下制作了一个新表单。因为之前,我尝试实例化的表单只是另一个项目的副本。非常感谢。