Настройте LINQPad для работы с NHibernate Profiler
Я хотел бы профилировать свои запросы NHibernate, которые я запускаю из LINQPad, используя NHibernate Profiler.
Когда я пытаюсь инициализировать профилировщик, используя это:
NHibernateProfiler.Initialize();
Я получаю следующую ошибку:
The type or namespace name 'NHibernate' does not exist in the namespace 'HibernatingRhinos.Profiler.Appender' (are you missing an assembly reference?)
Это странно, потому что без инициализации профилировщика мой код NHibernate в LINQPad выполняется должным образом (поэтому определенно находит необходимые библиотеки NHibernate).
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 ответ
HibernatingRhinos генерирует код, который затем пытается скомпилировать и дать сбой.
Если вы можете отследить файл, созданный HibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile
, вы должны лучше понять, почему это идет не так.