2012-04-23 15 views
3

にコピーされません私は2つのプロジェクトとソリューションを持っています。 NLogとNLog.ExtendedはNugetと一緒にインストールされています。がNLog.Extended私のWebプロジェクト

プロジェクト2:はNLogからターゲットレンダラをロードしようとするので、それが例外をスローし、私は、Webプロジェクトを実行しようとすると参照が含まれてASP.Net MVCプロジェクトは、1

を投影することですNLog.Extended.Dll。

Wrapper.dllのbinディレクトリをチェックすると、NLog.DllとNLog.Extended.Dllがあります。

Webプロジェクトのbinディレクトリをチェックすると、NLog.dllしかありません。

NLog.Extended.Dllをプロジェクト1からプロジェクト2にコピーするようにVisual Studioに指示するにはどうすればよいですか?

EDIT: NLog.Extended.Dllから何かを使用するデッドコードを追加すると、ファイルがコピーされます。 クリーナーソリューションはありますか?

おかげ

+1

もっと一般的な問題の解決策は、次のサイトで見つけることができます:http://stackoverflow.com/a/7856474/149399 – PenFold

+0

これは古い質問ですが、覚えていれば、デッドコードを追加する?参照できるNLog.Extendedの内容は分かりません。どこから参照するのか分かりません。ありがとう! – Kate

+1

私はもうNLogを使用していませんが、githubのソースコードを見れば、ダミークラスのインスタンスを作成できます。https://github.com/NLog/NLog/blob/master/src/NLog.Extended/ターゲット/ MessageQueueTarget.cs – Swell

答えて

1

残念ながら、いいえ、クリーナーソリューションはありません。 NLog.Extendedアセンブリからのオブジェクトがコードから(直接的または間接的に)参照されていない場合、そのオブジェクトはコピーされません。これはレイアウトが単なる文字列であり、直接参照ではないので、もちろん問題です。ビルド後のイベントを使うこともできますが、それは私の意見では醜い解決策です。

0

それはそれに依存している場合は、WebプロジェクトにNLog.Extended.dllへの参照を追加することができます。

+1

自分のWebプロジェクトに参照を直接追加したくありません。私が調べて、ここに解決策を投稿します – Swell

関連する問題