I would like to profile my NHibernate queries that I run from LINQPad using NHibernate Profiler.

When I try to initialize the profiler using this:

NHibernateProfiler.Initialize();

I get the following error:

The type or namespace name 'NHibernate' does not exist in the namespace 'HibernatingRhinos.Profiler.Appender' (are you missing an assembly reference?)

This strange because without initializing the profiler my NHibernate code in LINQPad executes as expected (therefore definitely finding the required NHibernate DLLs).

LINQPad is configured as follows:

Additional references:

  • 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

Additional namespace imports:

  • HibernatingRhinos.Profiler.Appender.NHibernate

Stack trace for additional information:

   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()
有帮助吗?

解决方案

HibernatingRhinos is generating code which it's then trying to compile and failing.

If you can track down the file created by HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile, you should get a better clue as to why it's going wrong.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top