1

私はさまざまなプロジェクトに取り組んでおり、助けが必要ですが、これが可能かどうかはわかりません.

私が持っているのは、すべてのプロジェクトで使用できる C# ライブラリが必要なさまざまな C# プロジェクトです。これを呼び出すことができますlibrary 1

ライブラリー 1 は、別のライブラリーを利用できます。これを呼び出しましょうlibrary 2

すべてのプロジェクトは常にライブラリ 1 を使用しますが、すべてのプロジェクトがライブラリ 1 内のライブラリ 2 を使用するわけではありません。

したがって、現時点では、新しい C# プロジェクトを作成してライブラリ 1 を含めると、ライブラリ 2 が利用できないというエラーが表示されます。メイン プロジェクトで実際に必要でない限り、ライブラリ 2 をインポートしたくありません。したがって、ライブラリ 2 が利用できない場合にライブラリ 1 が using ディレクティブを無視できるようにする方法はありますか。

これが理にかなっていることを願っています。あなたが提供できる助けに感謝します。

4

1 に答える 1

2

あなたが求めていることをするべきではありません。すべてのプロジェクトがライブラリ 2 を必要とするわけではない場合、解決方法は 2 つあります

オプション 1: ライブラリ 2 が必要な場合にのみ含まれるようにプロジェクトをリファクタリングします。実行可能プロジェクトがライブラリ 2 が必要かどうかを決定するプロジェクトである場合、それはそれを参照する (または参照しない) プロジェクトです。

オプション 2: 常にライブラリ 2 を含めるだけです。メインの実行可能ファイルがそれを必要としない場合は、そうしてください。ただし、ライブラリ 1 が参照しているため、必要になります。

オプション 1 をお勧めします。この質問をするだけで、依存関係の問題があると思います。それを修正する必要があります。これをハッキングするための複雑な解決策があるかもしれませんが、それは長期的な保守性には適していません。

Stable Dependencies Principleをグーグルで検索することもお勧めします。

于 2013-01-30T20:10:58.147 に答える