0

NHibernateProfilerを使用して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()
4

1 に答える 1

1

HibernatingRhinosはコードを生成しており、コンパイルしようとして失敗します。

によって作成されたファイルを追跡できる場合はHibernatingRhinos.Profiler.Appender.Util.GenerateAssembly.Compile、それがうまくいかない理由についてより良い手がかりを得る必要があります。

于 2012-03-04T01:25:46.100 に答える