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