配置LINQPad以使用NHibernate Profiler

时间:2012-03-03 07:58:58

标签: c# nhibernate linqpad nhibernate-profiler

我想介绍一下我使用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配置如下:

其他参考资料:

  • NHibernate.dll(3.2.0.4000)
  • HibernatingRhinos.Profiler.Appender.v4.0.dll(1.0.0.920)
  • ConformOrm.dll(2.0.0.0)
  • ConformOrm.Shop.dll(2.0.0.0)
  • IesiCollections.dll
  • log4net.dll
  • MyApplication.dll

其他命名空间导入:

  • HibernatingRhinos.Profiler.Appender.NHibernate

堆栈跟踪以获取更多信息:

   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()

1 个答案:

答案 0 :(得分:1)

HibernatingRhinos正在生成代码,然后尝试编译和失败。

如果你可以追踪HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile创建的文件,你应该更好地了解它为什么会出错。