Visual Studio 2015 +すべての更新。 Asp .Net Webアプリケーション(MVC)。コントローラを作成して別のプロジェクトにビューを追加する
いくつかのクラスライブラリを追加し、Asp .Net WAをレイヤー、つまりDataAccess、Business Logic、およびWebプロジェクト自体に分割することから始めます。
一度分離すると、関連する参照が追加され、すべてが正常に機能しています(つまり、レイヤーに分割する前のアプリケーションの機能)。
私のBL(コントローラはここにあります)。私は私のクラスライブラリと追加コントローラのためにあなたが右のデフォルトのプロジェクトにコントローラのフォルダをクリックするだろうというときのように、コントローラを追加するためのオプションを持っているので、csprojファイルに
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
以下の行を追加しないでくださいオプションが表示されます。コントローラーを作成しますが、web.configファイルがないために発生したエラーがスローされます - このファイルとすべてのワークを追加します(web.configファイルなしでこのライブラリーを使用するのはいいですが)。
私がヒットした問題は、コントローラを作成すると、クラスライブラリ内にビューテンプレートも追加されますが、ビューフォルダはWebプロジェクトにあります。
これは間違っていますか?回避策はありますか?コントローラーが作成されると、ビューが正しいプロジェクトにも作成されます。これに対する別のアプローチですか?
私はこれが正しいアプローチだと思いましたか?私が持っていた考えはコントローラをBLに移動して、すべてが1つの場所にあるようにすることでした....私はあなたのメインWebプロジェクト内のコントローラを残し、任意のCRUD操作のための参照としてこれらを使用してプロジェクトにBL/DAのdllをインポートすることをお勧めしますか? iveがあなたを正しく理解していれば、これを試してみるための例やアドバイスはありますか? Thx – Computer
これは正しいです。 Webアプリケーションは、ソリューションのMVC部分です。すべてのモデル、ビュー、コントローラがここにあります。あなたのBLまたはドメインのロジックは別のDLLになります。また、DLまたはデータコンテキストは別のDLLになります。 MVCのポイントは、ビジネスロジックをそれらのコンポーネントから守り、コントローラがロジックとデータのために他のレイヤとやり取りできるようにすることです。私はいくつかのリンクを使用して私の答えを更新します。 – WonderGrub
ありがとうございます。 Data Contextは、私が紹介しようとしていた次の部分がリンクされています。 – Computer