2011-03-08 168 views
2

我在尋找一種方法來從MVC 3和剃刀引用共享外部_layout.cshtml。MVC剃刀共享外部佈局

小回的故事: 我們有多個開發人員。他們都在開發單獨的MVC應用程序,它們都需要相同的外觀和感覺。所有這些應用程序將被部署到同一站點例如 http://www.example.com/App1/http://www.example.com/App2/

的外觀和感覺在CMS生成並投進一個不同的文件夾 http://www.example.com/Layout/_layoutExt.cshtml

我試過

MasterName = @"C:\inetpub\wwwroot\layout\_LayoutExt.cshtml"; 

但它給我的錯誤,它無法找到該文件

視圖「索引」或它的主人沒有發現 或沒有視圖引擎支持 搜尋過的位置。搜索了以下 位置。

回答

1

我的最終解決方案是使用的符號鏈接(或路口或硬鏈接)到所需的文件鏈接到視圖文件夾。通過這種方式,CMS寫入一個位置,我的應用程序從另一個位置讀取。不是我正在尋找的乾淨解決方案。

+0

喂傑夫,我需要做同樣的事情,但我不太清楚你的解決方案是什麼。什麼是符號鏈接?如何引用Visual Studio項目中的佈局文件?你是否在預構建中複製它?你玩過預編譯到dll的佈局和參考嗎?提前致謝。 – will

+1

對於開發,我使用現場的單獨佈局。在現場,我最終轉而在IIS中創建了一個虛擬目錄。所以例如我將我的佈局指向cms/_layoutfile.cshtml,但我的項目中沒有cms文件夾。部署完成後,我使用IIS在視圖下創建一個cms虛擬文件夾。我將這個文件夾指向我硬盤上的某處,我知道真正的佈局文件可以找到。當MVC查找文件時,它將跟隨此虛擬文件夾並找到共享佈局文件。 – Jeff

0

您可能需要製作自己的視圖引擎,以支持在Web應用程序主目錄之外讀取文件。