私は、クライアントアプリケーションに多くの便利な拡張メソッドを提供するクラスライブラリプロジェクトに取り組んでいます。このプロジェクトは、さまざまなプラットフォーム(.NET Frameworkのバージョン)で使用されることが期待されています。
そのために、それぞれが独自のプラットフォーム用に、いくつかの個別のVisualStudioプロジェクトを使用します。これらのプロジェクトには独自の外部依存関係がある可能性がありますが、「参照として追加」機能を使用してソースコードをプロジェクト間で共有します。このアプローチにより、他のプロジェクトにコピーすることなく、1つのファイルにコードを記述することで、すべてのプロジェクトの実装を変更できます。ターゲットフレームワークの違いを念頭に置いて、#if
コンパイラ指令を使用する必要があります。各プロジェクトの結果は、特定のバージョンの.NETFramework用のNuGetパッケージとして公開されます。
これが私が持っている2つの質問です:
- すべての新しいファイルをすべてのプロジェクトに追加する必要があります。そうしないと、ファイルがコンパイルされず、その中で定義されているすべてのクラスに特定のプラットフォームでアクセスできなくなります。ご存知のように、それを忘れるのは非常に簡単です。この種のファイル追跡を回避する方法はありますか?それを自動化することは可能ですか?
- どうすればインフラストラクチャ全体を改善できますか?プロジェクトでどのようなアプローチやソリューションを使用していますか?