我在 C# 中开发了一个继承 ServicedComponent 的 COM+ 组件。这是它的样子:
[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 不匹配或未找到错误。我不知道如何解决这个错误。