2012-01-03 15 views
1

UIプロジェクトとコードプロジェクトを使用してMVCプロジェクトの構造について説明しました。例えば私は、Visual Web Developerの2010のExpressでこれを実行しようとしたが、IましASP.NET MVC UIプロジェクト+コアプロジェクト分割

http://lostechies.com/jimmybogard/2009/12/09/organizing-asp-net-mvc-solutions/ http://stackoverflow.com/questions/4357911/an-ideal-folder-structure-for-net-mvc

UIプロジェクトに以下のWeb以外の関連ファイル(.csproj、.csproj.user、プロジェクトdllファイル、プロジェクトpdbファイル)が残ってしまいます。

2つのプロジェクトに分割する際に、不必要なファイルを除外することなくウェブサイトとして直接実行できるUIを備えていることが目的です。

  • 私は第二プロジェクトの作成からUIファイルを削除し、私はそれUIプロジェクト
  • 行う最初のプロジェクトからのコードファイルを削除し、同じ溶液
  • 内に含まれる第2のプロジェクトに元のプロジェクトをコピーコードプロジェクト
  • 私は、UIプロジェクトのコードプロジェクトへの参照を追加しました。

これは間違っていますか?あるいは、これはこのアプローチの限界ですか?

この設定を有効にするのに役立つ追加の詳細については、ご了承ください。

答えて

1

プロジェクトを別々のコア+ UIプロジェクトに分ける理由は、ソースコードの問題をきれいに分けるためです。

あなたが言及している2つのファイル、CSPROJとCSPROJ.USERファイルは、VWD専用です。ソースコードではなく、プロジェクトを公開するときには展開されません。

コアDLLとコアPDBの2つのファイルは、それぞれランタイムアセンブリとデバッグファイルです。あなたのUIプロジェクトは、コアプロジェクトに書かれコンパイルされたコードを実行できるようにするため、これらのリファレンスを必要とします。

したがって、Core.dllとCord.pdbをUIプロジェクトのbinフォルダに入れても大丈夫ですが、SoCに違反しません。 csprojファイルはコードとは関係がなく、VWDがプロジェクトを管理できるだけの場所にあります。

+0

申し訳ありませんが、私が参照していたDLL/PDBファイルは実際にはコードはありませんが、まだ3KBのDLLを生成するUIプロジェクトです。 VWDのプロジェクトファイルに関しては、プロジェクトファイルがサイト外に保存されているウェブサイトプロジェクトを開く他の方法に慣れています。 –

+0

UIプロジェクトがMVC3プロジェクトの場合は、コードが生成されます。 global.asaxファイルを参照してください。これはあなたのUIのDLLにコンパイルされます。 – danludwig

+0

global.asax.csをコアプロジェクトに移動し、<%@ Application%>行しか持たないUIプロジェクトにglobal.asaxだけを残して、コアDLLのその部分を意味するようにしました。 –

関連する問題