0

WinForms2.0アプリケーションには2つのアセンブリがあります。1番目のアセンブリはGUIとプロジェクト固有のコードを処理し、2番目のアセンブリはすべての再利用可能なコードを配置する場所です。どちらのプロジェクトもソリューションの一部です。1番目のプロジェクトは2番目のプロジェクトを参照します。

ここで、両方のプロジェクトがlog4net.dllファイルを参照する必要があります。log4netソースコードをダウンロードしてビルドしたフォルダーを指す参照を各プロジェクトに追加する必要があります。または、log4net.dllファイルを各プロジェクトディレクトリにコピーする必要がありますか?

または、ソリューションの一部としてlog4netソースコードプロジェクト全体を追加して、既存のアプリケーションを壊すlog4netの将来の変更から隔離する必要がありますか?

要件の1つは、既存のコードを壊す可能性のあるlog4netの将来のバージョン変更が、私のプロジェクトに与える影響を最小限に抑えることです。

ベストプラクティスは何ですか?

私はC#2.0を使用しています。

ありがとう、

4

3 に答える 3

2

私は通常、プロジェクトをビルドし、log4netdllをソリューションフォルダーであるlibsフォルダーに配置します。どちらのプロジェクトもこのdll(libsフォルダー)を参照しています。

于 2013-01-01T17:30:23.320 に答える
1

NuGet に依存することを学ぶと、依存関係が自動的に管理され、適切なフォルダーに保存されます。

log4net に関しては、キーの混乱とメソッド コントラクトの破損により、互換性は既に失われています。この混乱を解決する方法は誰にもわかりません。

http://netpl.blogspot.com/2012/03/pathetic-breaking-change-between.html

于 2013-01-01T18:04:30.070 に答える
0

log4net.dllファイルを各プロジェクトディレクトリにコピーする必要がありますか?

いいえ。別の依存関係フォルダーに保管してください。このフォルダーは、Solutionのすべてのプロジェクトに共通である必要があります。log4net.dllを各プロジェクト(このコンポーネントを必要とする)に参照する必要があります。

または、ソリューションの一部としてlog4netソースコードプロジェクト全体を追加して、既存のアプリケーションを壊すlog4netの将来の変更から隔離する必要がありますか?

必須ではありません。log4net.dllの問題に直面していて、自分で診断したい場合にのみ必要です。

于 2013-01-01T17:33:28.410 に答える