多个 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?

Visual Studio 中的多个调试和发布配置选项

Visual Studio项目REST api

Visual Studio 项目模板多个项目类型

在 Visual Studio 中录制 Web 负载测试项目

web项目 在visual studio 输出窗口显示调试信息