在visual studio中运行时,DCom / OPC应用程序无法连接,但.exe连接完美

时间:2011-08-02 15:20:37

标签: visual-studio visual-studio-2010 dcom opc

我正在编写一个连接到远程服务器并读取数据等的OPC客户端。我正在使用advosol的BGServer类。问题是,当我在visual studio中运行程序时,我在添加组时出现以下错误。

“来自HRESULT的异常:0x80040202”

我的问题类似于(http://stackoverflow.com/questions/5978721/opc-server-access-remotely-using-opcda-net-tools),但是,我知道DCom设置配置正确,因为我通过双击我连接的.exe运行相同的代码,可以添加一个没有问题的组。

因此我猜测Visual Studio在一些奇怪的用户/组下运行,并且搞砸了dcom权限(主要是回调)。

编辑:代码

BGServer server;
    private void Form1_Load(object sender, EventArgs e)
    {
        server = new BGServer(this);
        server.Connect(new OPC.Common.Host() { HostName = "xp-devbox2", UserName = "OPCUser", Password = "OPCUser" }, "FactoryTalk Gateway", null, ServerConnected); 
    }
    void ServerConnected(BGException ex, object tag)
    {
        if (ex != null)
        {
            label1.Text = ex.Message;
        }
        else
        {
            //we've connected to the server.  let's start subscribing to stuff!
            server.AddGroup("Tuner DataGroup", true, 1000, 0, null, null, new OnBGSrvAddGroup(GroupAdded));
        }
    }
    private BGGroup dGroup;
    void GroupAdded(BGException ex, BGGroup group, object tag)
    {

        if (ex != null)
        {
            label1.Text = ex.Message;
        }
        else label1.Text = "Group Added";
    }

1 个答案:

答案 0 :(得分:0)

您是否使用免注册COM与OPC通信?当您使用“Visual Studio Hosting Process”时,您创建do reg-free COM的任何外部“.exe.manifest”文件都不会被带入vshost.exe进程的清单。