私は動的にDLLをロードするMVCプロジェクトに取り組んでいます。これらのdllには他のMVCプロジェクト(モジュールと呼ぶ)があります。これを行うことで、モジュールのプラグアンドプレイをサポートし、プロジェクト全体を公開することなく更新できます。ダイナミックロードされたDLLの@modelをクラスに設定できません
私は複数のシンプルなモジュールが動作していますが、開発中の新しいモジュールに問題があります。
モジュールのすべてのビューでは、@model dynamic
のようなモデルを定義します。しかし、動的な操作を含めることはできません
式ツリーそれは
になり、私は他に許可されていない
@Html.TextBoxFor()
that'sを使いたいので、だから私は、私はちょうど@model ModuleNameSpace.ClassName
に変更します何ら問題は思っていませんしかし、今ではビュー全体がもう読み込めません...例外:'〜/ PATH_TO_VIEW_FILE'にあるビューが作成されませんでした。
@model dynamic
ではビューが機能しており、別のプロジェクトを作成すると@model ModuleNameSpace.ClassName
も使用されます。アセンブリを動的に追加するので、問題になるようですか?モジュールは、次のようにロードされます。私は私の問題への解決策を見つけた
System.Reflection.AssemblyName name = System.Reflection.AssemblyName.GetAssemblyName(module.FullName); System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(name);