我想介绍一下我使用NHibernate Profiler从LINQPad运行的NHibernate查询。
当我尝试使用以下方法初始化探查器时:
NHibernateProfiler.Initialize();
我收到以下错误:
The type or namespace name 'NHibernate' does not exist in the namespace 'HibernatingRhinos.Profiler.Appender' (are you missing an assembly reference?)
这很奇怪,因为在没有初始化探查器的情况下,LINQPad中的NHibernate代码按预期执行(因此肯定会找到所需的NHibernate DLL)。
LINQPad配置如下:
其他参考资料:
其他命名空间导入:
堆栈跟踪以获取更多信息:
at HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile(String fileName, String[] sources, IEnumerable`1 assembliesToReference)
at HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.CompileAssembly(IEnumerable`1 sourcesResources, IEnumerable`1 assembliesToReference, String assemblyName)
at HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.RegisterAppenderUsingNHibernateLogger()
at HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.WrapLogger()
at HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.StartNHibernateProfiling()
at HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize(NHibernateAppenderConfiguration configuration)
at HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize()
答案 0 :(得分:1)
HibernatingRhinos正在生成代码,然后尝试编译和失败。
如果你可以追踪HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile
创建的文件,你应该更好地了解它为什么会出错。