2010-09-24 25 views
4

我有一个大的.net mvc 2项目,我们正在使用MvcContrib便携式区域。有一个加载许多模块(PA模块)的主要网站。编译与启用MvcBuildViews到MVC 2便携式区域的视图

主应用程序包含Site.Mater到其~\Views\Shared文件夹中。每个模块也有自己的Site.Master,它从那个主要的继承。

在我们使用类似的时刻:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" MasterPageFile="~/Views/Shared/Site.Master" %> 

编译后视图处理主要的Site.Master权,因为它是一个相对路径。 现在我收到编译期间构建视图的要求。所以我在每个Web PA模块项目中启用了MvcBuildViews = true。

当然,我收到错误说"/temp/Views/Shared/Site.Master is not found"

如何保持内容嵌入的便携式区域并确保视图不包含错误?

有什么想法?

+0

非常感谢雄武 – isuruceanu 2010-09-27 07:21:30

回答

2

你不能。

我正在处理同样的问题,你不能轻易伪造文件的物理位置。

唯一的解决方案是创建一个占位符并删除非嵌入式占位符文件作为构建过程的一部分。这种技术的好处是非嵌入式资源的开发速度会加快一点。

需要考虑的另一件事是,将视图加载为嵌入式资源非常缓慢。通过构建过程将集中的“常见”视图移至本地项目将会为用户带来更好的性能。

1

的情况下,你只是想确保一切正常,你可以使用Watin和写一些单元测试是要检查这种