私は MVC ソリューションを開発しており、作成中の一部のビューにプラグイン オプションが必要です。埋め込みリソースとしての PartialView とそれが参照するビューモデル クラスを含むプラグインごとに個別のアセンブリがあります。必要な PartialView を見つけるために virtualfile プロバイダーを使用していますが、これはうまく機能します...パーシャルに ViewModel を使用しようとするまでは。
部分ビューをレンダリングするために、選択したオプションに応じて実行時に設定されるモデルに 2 つのプロパティがあるため、次を使用します。
Html.RenderPartial(Model.PartialViewName, Model.PartialViewModel)
ここで、Model.PartialViewModel は、個別のアセンブリ内のすべてのビュー モデルが実装するインターフェイスです。
部分ビューのレンダリング中に次のエラーが発生します: エラー CS1061 'object' には '{PropertyName}' の定義が含まれておらず、'object' 型の最初の引数を受け入れる拡張メソッド '{PropertyName}' が見つかりませんでした。 .." このエラーは、アクセスしようとしている部分ビューモデルのどのプロパティに対しても発生します。
ただし、デバッグ モードでは、部分ビューに渡されたビューモデルを確認できます。これは正しく、すべてのプロパティがそこにあり、入力されています。プラグイン性を削除し、名前付きのクラスとタイプ (インターフェイスではなく) を参照することさえしましたが、それでもこのエラーが発生します。
何か案は?部分ビューとそのビューモデルを別のアセンブリに配置して動作させることができた人はいますか? ありがとうございました。