不能进入并调试服务组件的源代码

本文关键字:服务组 组件 源代码 服务 调试 不能 | 更新日期: 2023-09-27 18:02:19

我用c#开发了一个COM+组件,继承了ServicedComponent。下面是它的样子:

    [Transaction(TransactionOption.Required)]
    [ClassInterface(ClassInterfaceType.AutoDual)]
    [EventTrackingEnabledAttribute(true)]
    [JustInTimeActivation]
    [ObjectPooling(Enabled = true, MinPoolSize = 10, MaxPoolSize = 30, CreationTimeout = 15000)]
    [Synchronization]
    class MyComponent: System.EnterpriseServices.ServicedComponent
    {
        [AutoComplete(true)]
        public string getHello()
        {//2nd breakpoint
            ContextUtil.SetComplete();
            return "HelloWorld";
        }
    }

我有另一个测试项目,我从中调用这个组件。

class Program
{
static void Main(string[] args)
{
MyComponent myComp = new MyComponent();
myComp.getHello();//1st Breakpoint
}
}

我无法到达第二个断点。这是工作之前,我切换到VS 2012。奇怪的是,切换到2012之后,它在VS 2010中也不再工作了。

我已经试过了,

  • 附加到进程
  • 在调试设置中未选中"只启用我的代码"
谁能从这里给我指路?

更新1

从Mike给出的链接中,我尝试在DLL和PDB文件所在的文件夹中为我的DLL进行symchk。它失败,错误说PDB不匹配或未找到。我不知道如何解决这个错误

不能进入并调试服务组件的源代码

您的项目中可能缺少。pdb文件。

查看这个微软链接的解释:https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx