asp.net - Visual Studio 解决方案中的多个 Web 应用程序项目

标签 asp.net visual-studio-2010 webforms

我目前正在开始使用 ASP.Net Webforms 开发一个新网站。为了让这个项目有一个正确的开始,我正在研究应用程序的 Visual Studio 解决方案设置,我希望我的应用程序由大小(代码行)相同的易于识别的组件组成。

由于该项目尚未真正开始,我已在标准三层设置(数据、业务逻辑和表示)中构建了解决方案。这种设置在项目开始时很好,但随着项目的增长,三层很快就会开始变大,导航和查找代码将变得更加困难,这将损害可维护性和整体质量感。

因此,在项目期间,我想转换为新的设置,在其中形成功能组件,每个组件都有自己的三层设置。例如:该网站有一个购物车以及创建和管理用户帐户的选项。还应该有一个用于跨多个组件使用 Stull 的组件,在本示例中我将其称为 common。这将导致以下设置:

常用文件:

  • 项目.Common.Data
  • 项目.Common.Business
  • Project.Common.Presentations

购物车:

  • 项目.Shoppingcart.Data
  • 项目.购物车.业务
  • 项目.购物车.演示文稿

账户管理:

  • 项目.帐户.数据
  • 项目.帐户.业务
  • 项目.帐户.演示文稿

网站:

  • 项目.网站.数据
  • 项目.网站.业务
  • 项目.网站.演示文稿

上面的示例具有三个组件,每个组件包含三个项目。每个组件都有一个包含 Web 文件(页面、控件、前端代码)的 Web 应用程序项目。我之前所有的.Net项目都有一个简单的Web应用程序项目,所以这个设置对我来说是一种新的体验。

我仍然希望该解决方案感觉就像一个应用程序,能够轻松调试网站和组件。为了实现这一目标,我假设“Project.Web.Presentation”Web 应用程序项目应该是主要的 Web 应用程序项目。我目前正在调查是否可以通过这种方式设置解决方案,我已经尝试了多种方法,但到目前为止没有一个效果很好:

  • 单独运行所有 Web 应用程序项目,这工作正常,但我必须单独运行所有应用程序,并且无法在同一端口下运行它们,这在调试时非常糟糕。

  • 将其他演示文稿项目中的文件添加为“Project.Web.Presentation”项目的链接,并将该项目设置为启动项目。这不起作用,因为文件在调试时不存在,但在构建部署包时似乎工作正常。我不想复制这些文件,因为我必须以某种方式防止这些重复的文件最终进入版本控制。

到目前为止,我还没有找到一种很好的方法来处理我想要的设置。我愿意接受建议,提前感谢您的提示!

最佳答案

我正在研究类似的东西,并决定使用 NuGet 推出所有公共(public)部分:

Multi-Project Nuget Issues

Updating Files in Existing Nuget Package

Visual Studio Multi-Project Solution Options

执行此操作的唯一其他方法涉及嵌套母版页和构建后脚本 - 困惑。

关于asp.net - Visual Studio 解决方案中的多个 Web 应用程序项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841636/

相关文章:

string - 字符串包含 'AA' 时的 IndexOf 错误

c# - 使用 SqlParameter 创建 Order By 子句

c# - Visual Studio 等效于 java System.out

vb.net - 在 VB .net 2010 中创建 ActiveX 控件 (OCX)

javascript - 理解 RegisterStartupScript : How often will the JavaScript code be called?

asp.net - 如何在代码隐藏中检查请求是否为 ajax - ASP.NET Webforms

asp.net - 如何最佳拦截 ASP.NET 用户控件子树中所有元素的解析

c# - 如何在有外键的表中插入数据

c# - Gridview 根据条件动态格式化

asp.net - 3 列 Web 部件页面?