@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
ローカルで、私はそれが同じASP.NET MVCプロジェクトに常駐する必要があることを意味します。
私たちのプロジェクトでは、異なるチームによって異なる時間に配備された異なるソリューション間で1つのレイアウトページを共有できる必要があります。したがって、実行時に中央の場所からレイアウトページを割り当てる必要があります。 誰もが最新のレイアウトページを取得してプロジェクト+配備する必要はありません。
レイアウトプロパティ(論理的なようです)にリモートURLを割り当てることはできません。 誰もこれを試したことがありますか?
私が行う代替レイアウト拡張メソッドを作ることを考えていた以下(例えばthis.SetRemoteLayout(「[URL]」):
- 中央からレイアウトのページをフェッチするために、同期だけでなく、キャッシュされたHTTPリクエストWebアプリケーション
- それは相対パスでアクセスできるように、例えば「〜/ビュー/温度/ _Layout.cshtml」
- が内部的にダウンロードしたファイル の相対パスでLayoutプロパティを割り当てるローカルレイアウトページをダウンロードします
誰でもこれを行ったことがありますか?私たちは、次のパターンに従うとしている
私はあなたがしてコピーし、「本物」という '前build'イベントを作成し、プロジェクトに「偽」_layoutを追加することができると思いますあなたの希望する場所から偽のものを探しましょう。 – mxmissile
また、 "mklink"コマンド "mklink -d projectfolder canonicalfolder"を使用してリンクされたフォルダを使用することもできます(またはファイル自体にリンクするだけでも可能です)。ただし、これはソース管理の管理に問題を引き起こす可能性があります。標準的なプロジェクトを除いてリンクされたコンテンツを無視することをお勧めします。 – theGleep
要件は、実行時にする必要があることを定義しています。レイアウトの変更が発生した場合、すべてのプロジェクトを再構築する必要はありません。 –