0

わかりました。MVCで反復を行う方法を指定する投稿がオンラインにたくさんあることを私は知っています。

私の質問は少し異なります。WebFormsを使用してイテレーションを行っていたとき、私は1つのものだけを作成し、それを最後まで完成させていました。これには、本番環境へのデプロイも含まれていました。たとえば、Webページを作成して展開し、次に2番目のページを作成して展開しました。そのため、以前のdllは変更されないまま、.dllファイルがbinフォルダーに追加されました。一方、後で変更を加えたときに、本番環境で置き換える必要のあるこの1つのファイルがありました。

ここに質問があります。MVCで同じことをどのように達成できますか?各ページを個別のdllにデプロイしないためです。何かを追加するたびに、アプリケーションdllを再デプロイする必要がありますが、これはあまり賢明ではありません。Visual Studioで展開オプションを試してみましたが、うまくいきませんでした。

4

2 に答える 2

0

まず、投稿のタイトルに取り組む必要があります。それは投稿の内容と一致しません。

asp.net mvc uでは、変更されたものだけを展開することを選択できます。つまり、.cshtmlファイルのみを変更した場合は、本番環境のファイルに置き換えることができます。ただし、コントローラークラス(C#/ Vbコード)を変更する場合は、Webプロジェクトのdllファイルもアップロードして、この新しい変更を本番環境で利用できるようにする必要があります。

于 2013-01-06T19:23:53.963 に答える
0

コントローラと他のコードを別々のアセンブリに配置し、既存のアプリケーションにドロップすることを妨げるものは何もありません。他のASP.NETベースのアプリケーションと同様に、binフォルダー内のファイルを追加または変更したり、web.configを変更したりすると、MVCアプリケーションが自動的に再起動します。

Razorを使用している場合は、RazorGeneratorを使用してビューのコードを生成し、それらを同じアセンブリにコンパイルできます。

ルートやモデルバインダーなどを正しく接続するには、追加のロジックを作成する必要がある場合があります。

個別のモジュールのアプリケーションを構成するためのより構造的なアプローチについては、ポータブル領域を調べることをお勧めします。これはASP.NETMVCの拡張機能であり、モジュール全体(ビュー、css、jsなどを含む)を単一のアセンブリにパッケージ化できます。

于 2013-01-06T20:09:57.020 に答える