无法进入并调试服务组件源代码

时间:2015-07-10 17:39:05

标签: c# visual-studio-2012 com+ servicedcomponent

我在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文件所在的同一文件夹中尝试了symchk for my DLL。它失败并显示PDB不匹配或未找到错误。我不知道如何解决这个错误。

1 个答案:

答案 0 :(得分:5)

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

检查此微软链接以获取解释:https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx