多个 Web 项目,在 Visual Studio 中(几乎)布局相同
Posted
技术标签:
【中文标题】多个 Web 项目,在 Visual Studio 中(几乎)布局相同【英文标题】:Multiple web projects, (almost) same layout in Visual Studio 【发布时间】:2009-08-15 12:23:11 【问题描述】:我目前正在开发一个包含两个 Web 项目 (MVC) 的应用程序:
前端 后端这两个将具有几乎相同的布局(很少有细微的变化)。因此我想创建一个MasterPage,他们可以共享。但是由于这是两个不同位置的两个项目,我应该将母版页、图像和 javascript 放在哪里?
图像和 javascript(静态内容)可以放在 CDN 上。
但是 ASP.NET 特定的东西呢?有什么建议么?任何帮助表示赞赏!
【问题讨论】:
【参考方案1】:MasterPage 在底层是一个 UserControl,因此任何共享 UserControl 的方法都适用于 MasterPage。不幸的是,这在 ASP.NET 中并不是很好的体验,因为 BuildManager(在构建时编译并将应用程序路径连接到类)仅识别和处理当前项目中的文件。
共享代码隐藏或基类很容易并且效果很好。它是设计图面(.master、.ascx、.aspx),没有太多可以共享的能力。您可以使用部署项目将 Web 应用项目编译成可以引用的程序集,但在实际项目中仍然需要一些设计文件。
这也可能有帮助:
斯科特古:Creating and Using User Control Libraries 所以:How do I share user controls between web applications in ASP.NET?【讨论】:
【参考方案2】:可以在新项目中包含来自另一个项目的现有文件。你可以这样做。因此,只需将其放在一个项目中并包含在另一个项目中即可。
或者,您可以创建一个“核心”库,然后将东西放在那里,但这不能很好地与控件等“配合”,所以我推荐第一种方法。
【讨论】:
你可以吗?如何?但这对我来说不是最好的解决方案,因为页面放置在其中一个项目中,而不是与每个项目分开。也许“核心”项目是要走的路。嗯。以上是关于多个 Web 项目,在 Visual Studio 中(几乎)布局相同的主要内容,如果未能解决你的问题,请参考以下文章
为啥我调试时 Visual Studio 会启动多个 WebDev?