0

我们正在尝试通过 ninjectwebcommon.cs 进行调试以找到存储库的绑定。在 VS 2012 中,我在 kernel.bind 上放置了一个 Debugpoint,但它不会随时命中。有人可以建议我如何调试吗?

我有 NInject 版本 v4.0.30319

4

2 回答 2

1

NinjectWebCommon.RegisterServices对我来说不那么简单和(显然)临时的解决方案是在我正在调试的配置中创建一个后台线程:

var thread = new System.Threading.Thread(() =>
{
  while (!System.Diagnostics.Debugger.IsAttached)
  {
    System.Threading.Thread.Sleep(100);
  }

  // custom code, including kernel.Bind<>() calls here
});

thread.IsBackground = true;
thread.Start();

这里的想法是让您创建的线程不执行可调试代码,直到实际附加调试器。设置IsBackground属性很重要,因为这允许方法的其余部分RegisterServices完成,进而允许应用程序启动并允许调试器附加。

于 2019-10-29T19:47:25.977 回答
0

Ninject 是开源的。您可以从他们的 Github 页面https://github.com/ninject下载整个项目。从那里您可以将 Visual Studio 指向这些项目,而不是使用已编译的程序集。

另一种选择是使用http://symbolsource.org作为符号服务器。但看起来他们只有 Ninject 3。

于 2013-07-26T17:25:53.823 回答