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 - 對不起,希望我能有更多的幫助 –
感謝您的鏈接,我會通過他們,看看是否有幫助! –