我们正在尝试通过 ninjectwebcommon.cs 进行调试以找到存储库的绑定。在 VS 2012 中,我在 kernel.bind 上放置了一个 Debugpoint,但它不会随时命中。有人可以建议我如何调试吗?
我有 NInject 版本 v4.0.30319
我们正在尝试通过 ninjectwebcommon.cs 进行调试以找到存储库的绑定。在 VS 2012 中,我在 kernel.bind 上放置了一个 Debugpoint,但它不会随时命中。有人可以建议我如何调试吗?
我有 NInject 版本 v4.0.30319
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
完成,进而允许应用程序启动并允许调试器附加。
Ninject 是开源的。您可以从他们的 Github 页面https://github.com/ninject下载整个项目。从那里您可以将 Visual Studio 指向这些项目,而不是使用已编译的程序集。
另一种选择是使用http://symbolsource.org作为符号服务器。但看起来他们只有 Ninject 3。