我在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不匹配或未找到错误.我不知道如何解决这个错误.
解决方法
您可能缺少项目中的.pdb文件.
检查此microsoft链接以获取解释:https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx