配置LINQPad以使用NHibernate Profiler

本文关键字:NHibernate Profiler LINQPad 配置 | 更新日期: 2023-09-27 18:26:36

我想使用NHibernate Profiler来评测我从LINQPad运行的NHibernat查询。

当我尝试使用以下命令初始化探查器时:

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代码会按预期执行(因此肯定会找到所需的NHibeernate DLL)。

LINQPad配置如下:

附加参考:

  • NHibernate.dll(3.2.0.4000)
  • 休眠Rhinos.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

其他命名空间导入:

  • 休眠Rhinos.Profiler.Appender.Hibernate

附加信息的堆栈跟踪:

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

配置LINQPad以使用NHibernate Profiler

HibernatingRhinos正在生成代码,然后试图编译这些代码,但失败了。

如果你能找到HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile创建的文件,你应该能更好地了解它出错的原因。