私は、それぞれが共有コアdllを使用する完全に独立した2つのWebアプリケーションを持っています。デプロイメントとバージョン管理の目的のために、どちらのアプリケーションにも "コア" dllのコピーを1つ配布したいと思っています。また、必要に応じて、展開時にコアDLLをオプションとして使用する機能をサポートできるようにしたいと考えています。つまり、app1はコアdllバージョン1を使用し、app2はコアdllバージョン2を使用できます。これらの機能をサポートするために、パス単位で実装クラスを解決するDIコンテナはありますか? IOW、app1はc:\ corev1 \ core.dllの実装クラスを取得し、app2は簡単な例としてc:\ corev2 \ core.dllの実装クラスを取得しますか?私は、すべてのアプリケーションが独立している展開戦略のために、core.dllへの直接参照を避ける必要があります。DI外部DLLの使用
3
A
答えて
2
これを行うにはDIまたはコンテナは必要ありません。 Assembly Versioningは、そのままの状態で.NETでサポートされます。
アプリケーションごとにcore.dllと残りのアプリケーションバイナリを一緒に配備し、それぞれを独立してバージョンアップするだけです。
3
DIは必ずしもDIである必要はなく、プラグイン可能であるように思えます。 MEFをご覧ください。
関連する問題
- 1. 外部DLLでSSISデータフローの行を使用する
- 2. NPAPIプラグイン拡張を使用した外部dllパッキング
- 3. Air Native Extensionで外部DLLを使用するには?
- 4. CMakeプロジェクトで外部DLLを使用する方法
- 5. OSGiの内外で使用されるバンドルの推奨DIソリューション
- 6. .NETでの外部DLLのデバッグ
- 7. Silverlight:外部DLLのリファレンスリソース辞書
- 8. Inno Setupのアンインストールプロセス用に外部DLLをロード
- 9. 外部キーの使用
- 10. NUnitテストで外部アンマネージドDLLをアンロード
- 11. 外部エイリアスvs.リフレクションvs. System.AddinマルチDLLテスト?
- 12. 外部DLLをアップグレードするには?
- 13. 単体テストでのDIコンテナの使用
- 14. 使用外部パラメータ - ServiceStack
- 15. Arel:シンボルを使用した外部外部結合
- 16. IoC/DI - 内部メソッドのみを持つ内部クラスの実装
- 17. WCFサービスを使用するNinject Diバインディング
- 18. ASP.NET Coreを使用したMediatR DI
- 19. AndroidでSubCut(Scala DI)を使用する
- 20. Playフレームワークでの外部ジャーの使用
- 21. Cプログラムでの外部ライブラリの使用
- 22. weblogicの外部プロパティファイルの使用
- 23. 未使用の外部キーのパージ
- 24. Cでのblowfishの使い方C#での外部DLLとしての
- 25. 外部ページのJavaScriptを使用する
- 26. sapui5の外部jsライブラリを使用
- 27. MATLABの外部エディタを使用
- 28. MANIFESTファイルの外部バンドルローカリゼーションパスを使用
- 29. 角2 - 外部ライブラリの使用
- 30. androidの外部フォントを使用する
これは良い提案であり、私が与えた過度の簡略化されたシナリオに対して有効です。 MEFは私の問題を解決し、問題の状態としてdllを直接参照するのを避けることを可能にしました。私たちの開発プロセスと現行のCIプロセスにはいくつかの作業が必要ですが、最終的には簡略化されたアプローチを使用する方向に向かっていますが、今はできません。 – codeEmitter