2011-03-08 172 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应用程序主目录之外读取文件。