Я разработал компонент 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.
Я уже пробовал,
- Приложить обрабатывать
- Неконтролируемый "Включить Just My Code" в настройках отладки
Может кто-то пожалуйста, дать направление здесь?
UPDATE 1
Из ссылок, предоставленных Mike, я попытался symchk для моей DLL в той же папке, где DLL и PDB файлы были там. Он терпит неудачу с ошибкой, заявляя, что PDB не соответствует или не найден. Я не знаю, как решить эту ошибку.
Когда я построить проект, я вижу .pdb файл в моей папке отладки. Есть ли способ проверить, правильно ли это связано при отладке? –
Это, вероятно, маловероятно, но другая вещь, которая может вызвать это, - это устаревшая .dll в вашем GAC. Я не уверен, что вы можете проверить, что использует компоновщик. Мой опыт отсутствовал pdb. Вот более надежная статья по теме: https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx - Извините, мне хотелось бы больше помочь –
Спасибо за ссылки, я просмотрю их и посмотрю, поможет ли это! –