7
我开发了一个COM +组件在C#中继承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
由迈克给出的链接,我想Symchk的我在DLL和PDB文件都存在相同的文件夹中的DLL。它错误地说PDB不匹配或找不到。我不知道如何解决这个错误。
当我生成项目,我看到在我的debug文件夹中的.pdb文件。有没有一种方法可以检查在调试时是否正确连接? –
这可能不太可能,但另一件可能导致此问题的原因是GAC中存在过时的.dll文件。我不确定您是否可以检查链接器正在使用的内容。我的经验已经缺失pdb。这里是关于这个主题的更强大的文章:https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx - 对不起,希望我能有更多的帮助 –
感谢您的链接,我会通过他们,看看是否有帮助! –