4

我有一个很大的 .net mvc 2 项目,我们正在使用 MvcContrib Portable Area。有一个加载许多模块(PA 模块)的主网站。

主应用程序包含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".

如何保持 Portable Area 嵌入内容并确保视图不包含错误?

任何想法?

4

2 回答 2

2

你不能。

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

唯一的解决方案是制作一个占位符并在构建过程中删除非嵌入的占位符文件。这种技术的好处是非嵌入式资源在开发过程中加载速度会更快一些。

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

于 2010-09-28T18:24:04.373 回答
1

如果您只想确保一切正常,您可以使用Watin并编写一些单元测试来检查这一点

于 2010-09-29T13:05:54.113 回答