2017-12-28 6 views
0

CodeDomを使用してライブラリにコンパイルされるコードがあります。これらのクラスの中には、log4netステートメントを追加したいものがあります。CodeDomで作成したプロジェクトからlog4net参照がドロップされました

  references.Add("mscorlib.dll"); 
      references.Add("System.dll"); 
      references.Add("System.Data.dll"); 
      references.Add("System.Xml.dll"); 
      references.Add("System.Core.dll"); 
      references.Add("System.Data.DataSetExtensions.dll"); 
      references.Add("System.Data.Linq.dll"); 
      references.Add(Path.Combine(m_Settings.BinPath, "log4net.dll")); 
      references.Add(Path.Combine(m_Settings.Engine.EngineBinPath, "Engines.Calculation.dll")); 

私がデバッグ、referencesはlog4netのためのエントリが含まれていますが、結果としてプロジェクトに、それが欠落しています。

のCodeDOMを使用して作成されますプロジェクトへの参照を追加する我々はこれを持っています。 log4net.dllはm_Settings.BinPathにあり、referencesに追加すると例外はスローされません。

プロジェクトが作成されて終了したとき、私は通常のエラーメッセージを取得:

型または名前空間名「log4netの」が見つかりませんでしたが(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

手動で追加すると、すべて正常ですが、生成する必要があります。

対象となる.Netフレームワークは4.6ですが、log4netバージョンは1.2.13.0です。しかし、これはソリューションの残りの部分では問題にはならないようです。

なぜreferencesオブジェクトからlog4netリファレンスが削除されるのですか?

答えて

0

実際には、参照が作成されるコードには2つの場所があります。上記のケースは最初のシナリオでしたが(一部の実行パスでは唯一のシナリオでした)、log4net参照が追加されていない別の場所も存在し、最終的なスキームでは削除されたようです。 両方の場所でlog4netリファレンスを追加しました。

関連する問題