0

私が聞きたい質問は以前に尋ねられましたが、2010 年以降に追加で知りたいです。

  1. サービス パックまたは MVC4 によってストーリーが改善された場合 (特にビューの場合)?
  2. 別のアセンブリから「通常の方法で」「コントローラーの追加」ウィザードにアクセスできるようにするトリックはありますか?
  3. 別のアセンブリのコントローラーアクションから「通常の方法で」「ビューの追加」ウィザードにアクセスできるようにするトリックはありますか?

暴言 この暴言は私の質問の一部ではありませんが、部屋の中の白い象を表していると思います。

私がリンクした上記の質問に添付されている 1 つの回答は、個別の MVC アセンブリが MVC の「関心の分離」に関係しないことを示唆しています。その答えは、「C# の将来のエディションでは、アセンブリ間の相互作用はサポートされないでしょう。そのような相互作用は、オブジェクト指向の関心の分離には関係ないからです」と言っているようなものだと思います。

どちらのステートメントも技術的には正しいかもしれませんが、どちらのステートメントも、関心の分離がますます拡大する範囲のレベルで適用されることを無視しています。つまり、オブジェクトまたは MVC レベルだけでなく、コンポーネント アーキテクチャ レベルにも適用されます。

別の言い方をすれば、ASP.NET MVC がオブジェクト (または領域) レベルで "関心の分離" をサポートしているからといって、話が終わったわけではありません。Microsoft が「ASP.NET MVC コンポーネント」テンプレートを追加することで、この話を単純化してほしいと思います。これにより、コントローラーとビュー (両方ともウィザードが動作する) を別のアセンブリの一部として簡単に構成できるようになります。

おそらく誰かがすでにそのようなものを作っていますか?

4

1 に答える 1

1

補足: 暴言を含む質問は、あまり客観的ではないため、反対票を投じられます。将来のための親切なアドバイス: 質問は客観的なものにしてください。

はい、ツールを他のアセンブリで機能させるためのトリックが実際にあります。ここで詳しく説明しました:http://blog.gauffin.org/2012/05/griffin-mvccontrib-the-plugin-system/

基本的に、次のことを行う必要があります。

  1. クラス ライブラリの .csproj ファイルを編集し、次を追加します。<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
  2. VirtualPathProvider他のアセンブリからビューを読み取ることができる を作成します
  3. コントローラーを探すときにクラス ライブラリを含めるように ASP.NET ビルド マネージャーに指示します。

.. または、私のオープン ソース プロジェクト Griffin.MvcContrib を使用します。

于 2012-11-19T09:06:54.653 に答える