2008-08-27 112 views

回答

2

保留源代码管理中的主副本,并让源代码管理系统担心它。

0

使用a symbolic link

符号链接是指向其他文件系统 对象的文件系统对象。被指向的对象称为目标。 符号链接对用户是透明的;链接显示为正常的 文件或目录,并且可以以完全相同的方式由用户或应用程序 对其执行操作。

0

假设您可以为所有项目(例如源代码管理树中的常见文件夹)创建公共存储库,则可以使用相对路径将主页添加为链接。

但是,IIRC,Visual Studio使得从外部路径添加文件的本地副本。您可能必须对解决方案/项目文件进行文本编辑才能添加链接的文件。

这当然假设您使用“Web应用程序”格式。较早的VS“网站”没有项目文件,并依赖于站点文件夹中的所有文件。

0

AFAIK没有优雅的方式做你正在寻找.. VS永远结束了复制它是什么。

我认为说实话这可能不是一个好主意..显然你想共享最低的通用代码,但是整个MasterPage?..听起来像你可能会遇到麻烦,因为一个小的改变可能会有这样的在一个或多个应用程序的影响..

我会建议,而不是从分隔条件的功能好位成组件/控制和部署它们。

4

从K.斯科特·艾伦的ASP.Net Master Pages: Tips, Tricks, and Traps文章,在“共享母版页”:

的第一选择是共享的母版页文件复制到一个 单一位置的IIS Web服务器上。然后,每个应用程序可以创建一个虚拟目录作为子目录,并将虚拟目录 指向主页面的实际目录。然后应用程序可以将页面的MasterPageFile属性设置为 目录的名称以及主页面文件的名称。当我们将 更新的主页面文件放入实际目录时,新主页面 将立即显示在所有应用程序中。

第二种方法是使用一个版本控制系统共用一套跨多个项目 母版页的文件。大多数源代码管理系统支持某种程度的“共享”功能,其中文件或文件夹可以出现在多个项目中。当 开发人员在检查更新的主网页文件,其他项目 会立即看到变化(虽然这种行为通常是 配置)。在生产和测试中,每个应用程序需要重新部署 才能显示更新母版页。

最后,在的VirtualPathProvider ASP.NET 2.0有助于实现这一 不要在文件系统中的文件。随着的VirtualPathProvider,母版页的一组 可以住在所有的应用程序 使用的数据库表。有关VirutalPathProvider的优秀文章,请参阅“Virtualizing Access to Content: Serving Your Web Site from a ZIP File”。

0

我不明白为什么你想要在不同的项目中有相同的标记,如果你这样做,我不知道一个简单的方法。

然而,随着代码,很明显,你可以写一个代码文件从

System.Web.UI.MasterPage 

放在你想在那里所有的母版页的任何逻辑继承。把它构建成你真棒的DLL然后把它包含在你的项目中。

相关问题