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

2023-12-30

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

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

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

常用文件:

  • 项目.通用.数据
  • 项目.公共.业务
  • 项目.通用.演示文稿

购物车:

  • 项目.购物车.数据
  • 项目.购物车.业务
  • 项目.购物车.演示文稿

账户管理:

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

网站:

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

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

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

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

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

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


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

多项目 Nuget 问题 https://stackoverflow.com/questions/7165279/multi-project-nuget-issues

更新现有 Nuget 包中的文件 https://stackoverflow.com/questions/6295743/updating-files-in-existing-nuget-package

Visual Studio 多项目解决方案选项 https://stackoverflow.com/questions/5667412/visual-studio-multi-project-solution-options

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 解决方案中的多个 Web 应用程序项目 的相关文章

  • RegularExpressionValidator 限制输入长度而不限制字符类型

    我正在尝试使用RegularExpressionValidator验证一个TextBox输入长度 我可以使用它 但它只接受字母和数字 我想允许any个字符 唯一的检查是不超过 25 个字符
  • Response.Write - Internet Explorer 中的文件名编码错误

    我使用以下代码将文件从服务器发送到客户端 Response AppendHeader content disposition attachment filename FileName Response ContentType MimeTyp
  • Blazor WeatherForecast 示例如何工作?

    Blazor 的 Hello World 项目模板包括天气预报示例 除了计数器增量示例之外 我用这个来看看幕后发生了什么 我似乎无法弄清楚 基本上 如果我注释掉获取天气 json 数据的代码行 那么我会无限期地看到 正在加载 到目前为止是有
  • asp.net datalist 选择每个类别的所有复选框

    我有一个页面 用户可以在数据列表控件中选择不同的文档文件 使用预渲染事件处理程序根据类别对文档进行分类 文档是根据复选框控件 而不是复选框列表 选择的 到目前为止 一切都很好 接下来我想要发生的事情是在每个类别名称旁边放置一个 全选 复选框
  • 开放简历fisherfaces

    我有这个问题 当我使用 vs2010 调试 opencv 2 4 0 facetec demo c 运行时 程序出现此错误 OpenCV错误 未知函数中图像步长错误 矩阵不连续 因此其行数无法更改 文件 src opencv modul e
  • ASP.NET HTTP 请求是否会转换为 1 个线程?

    可以安全地假设当用户通过 HTTP 请求 aspx 页面时 ASP NET 至少为其创建 1 个线程吗 如果是这样 持续多久 如果 1000 人向同一个 aspx 页面发出 HTTP 请求 是否会涉及一些线程回收 因此不会产生不同的 100
  • 数据库中的 HTML 标签是不好的做法还是好的做法?

    有时我需要格式化来自数据库的特定数据或部分数据 例如 如果我有这样的 desc 存储在数据库中 HTML 4 经过调整 延伸和增强 超出了其最初的范围 为网站带来了高水平的交互性和多媒体 Flash Silverlight 和 Java 等
  • ASP.NET Identity:使用角色授权属性在 Azure 上不起作用

    我刚刚在 Azure 上发布了带有 Identity 和 OWIN 授权的新 ASP NET MVC 网站 前端工作得很好 但后端有问题 我在管理控制器中使用 Authorize 属性来检查用户是否具有访问它所需的角色 如下所示 Autho
  • 如何使用 javascript/ASP.NET/CSS 旋转和淡入淡出背景图像

    我需要随机淡入淡出背景图像 这将是一个定时函数 例如每 5 秒一次 我需要使用 ASP NET Javascript CSS 或全部三者来完成此操作 请大家帮帮我 谢谢 Cycle 一个 jQuery 插件 是一个非常灵活的图像旋转解决方案
  • 如何自定义 DataTable 列的排序

    我需要对数据表列的值进行排序 该列包含字符串 整数或混合文本 例如 数据表列包含如下值 23 18 12 store 23 store a1 1283 25 如果我使用对值进行排序Dataview sort 方法会按此顺序产生 12 128
  • 为什么应该或不应该将数据集、数据表等存储为 ASP.NET 页面中的会话变量?

    我正在开发一个使用 Web 服务返回的数据集的 Web 应用程序 当应用程序运行时 我将该数据集存储为会话变量 以便在用户导航到将编辑数据集中的表的不同页面时反复使用 这个想法是 当应用程序加载时 用户只需要等待一次数据 然后应用程序将使用
  • 为什么当输入很大时,asp.net 找不到合适的 apicontroller?

    我有一个功能可以立即保存我的实体列表 public void Save IEnumerable
  • 将对话框项分组到单个“组”(Visual Studio)

    我想创建一个对话框窗口来更改应用程序的设置 下面是 Adob e Reader 的屏幕截图 使用 Spy 后 我猜想 在右侧 所有控件 按钮 组合框 等 都属于 GroupBox 对于左侧TreeView控件中的每个类别 都有一个相应的Gr
  • 如何在asp.net背后的代码中获取css样式

    我需要从 asp net c 中的代码后面获取 css 样式 在网上没有找到解决方案 是否可以直接从 styles css 文件获取它 还是需要解决方法 我在我的网络应用程序中使用主题 但我还需要进行一些服务器处理 并且我需要 ccs 文件
  • 使用 Itextsharp 读取本地化 PDF 文件

    我正在尝试使用 iTextSharp 阅读 PDF 文件 问题是当尝试阅读英语以外的 PDF 文件 例如印地语或阿拉伯语 时 它无法获取正确的单词 我想知道 我应该在系统上安装印地语或阿拉伯字体 还是需要对编码进行一些处理 ITextExt
  • 如何为WCF服务创建重定向?

    我的网站 A 上托管了一个 WCF 服务 我还有另一个网站 B 它使用 IIS URL 重写将所有请求重定向到我的网站 A 但是 站点 B 不处理任何对 svc 文件的请求 返回 404 not find 知道如何让它发挥作用吗 UPD重定
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 在Page_Load之前处理事件

    我有一个 ASP NET 网页 其中包含大量在页面的 Page Load 事件中处理的代码 我在页面上还有一个下拉框 应该使用新值重新加载页面 但我想在处理整个页面加载代码之前获取这个新值 我正在尝试了解 ASP NET 页面生命周期 我应
  • JWT - 配置授权服务器并将颁发者设置为其本身

    我正在尝试按照本指南设置授权服务器 http bitoftech net 2014 10 27 json web token asp net web api 2 jwt owin authorization server http bito
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • 使用 dart 和 flutter 与 google calendar api 来获取用户日历上的事件列表

    我正在尝试通过重新构建我之前用 Java 编写的应用程序来学习如何使用 dart 和 flutter 其中涉及使用 Google 自己的日历 API 从 Google 日历获取事件 通过阅读 不是很详细 googleapis auth 包的
  • Xpath:从 id 属性与 id 锚点的匹配中查找元素值

    我想找到与 id 属性匹配的元素的值 我只有 ref 带 的位 锚点 我正在寻找 partyId 的值 lt party id partyA gt lt partyId gt THEID lt partyId gt 但要到达那里 我只有以下
  • 如何将受信任的证书添加到 OkHttp

    我需要使用 OkHttp 客户端信任一个特定站点的证书 我在这里找到了解决方案 https jebware com blog p 340 https jebware com blog p 340 这段代码与我想要信任的服务器配合得很好 唯一
  • Android 外部存储与 SD 卡

    阅读有关存储文件的 Android 文档后 我发现外部存储可以包括可移动 SD 卡和设备内部存储 即不可移动 选择将文件保存到外部存储时 是否可以区分可移动存储和不可移动存储 我认为您无法可靠地区分内部和外部 SD 存储 乍一看 您似乎可以
  • 如何在imageView上显示从内部存储中选择的图像?

    我是在 android 中处理图像的新手 我想从内部存储加载图像 但它给了我权限被拒绝错误 然后我已将权限添加到 android 清单文件 但我仍然无法完成我的任务 这是我的代码 import android graphics Bitmap
  • 将Google Data Studio连接到本地Mysql服务器

    我已经开始使用 Google 的 Data Studio 我发现只需很少或根本不需要编码技能 就可以轻松地将 Excel 数据转换为直观的业务仪表板 但我这里有一个问题 每当我尝试连接到 Mysql DB 在我的本地系统上运行 时 我都会遇
  • 在 C# winform 中如何识别应用程序显示在哪个监视器上

    重复的如何在 C 中找到应用程序正在哪个屏幕上运行 https stackoverflow com questions 549751 how do i find what screen the application is running
  • 应用程序无法搭建项目

    我在 VS 2013 Professional 中创建了一个 MVC 5 应用程序 然后首先将 EF 6 1 代码与 SQL Server Express 上的现有数据库一起使用 当我尝试创建视图时 我使用 新脚手架项目 然后选择 带有视图
  • 安卓内部存储

    我需要在手机内存中存储一 个对象 如何在 Android 中执行此操作 希望您觉得这个博客有用 http pierrchen blogspot com 2011 11 android storage html http pierrchen
  • 在 Matlab 用户界面中跨多个 m 文件搜索文本

    有办法吗withinmatlab 用户界面在多个 m 文件中搜索某些文本 按 Ctrl Shift f 或转到菜单 编辑 gt 查找文件 您将得到一个很好的对话框 希望它能够满足您的要求
  • .htaccess 错误 - ERR_TOO_MANY_REDIRECTS

    我有这个 htaccess 文件要重定向http to https 我也做了www 到根域重定向 www 到根域有效 然而https 重定向没有 如果我设置RewriteCond HTTPS on to RewriteCond HTTPS
  • MongoDB bind_ip 错误:bind() 失败 errno:99 无法为套接字分配请求的地址

    我想配置 mongodb 以允许来自外部 IP 地址的远程连接 例如66 31 123 123 Setting 0 0 0 0 to bind ip可行 但我想更加严格 只允许某些 IP 地址进行连接 我附加了66 31 123 123 t
  • 如何在 asp.net 会话变量过期之前执行服务器端代码?

    在我的 asp net 网站中 我在用户登录时创建一个会话 我想在该会话到期之前在数据库中执行一些操作 我在确定应该在哪里编写代码以及如何知道会话时遇到问题即将过期 我不确定 Global asax 的 session end 事件是否适合
  • 如何访问第二个麦克风 Android(例如 Galaxy 3)

    现在很多智能手机都有不止一个麦克风 一个用于语音输入 另一个用于减少环境噪音 我想知道如何独立访问两个麦克风的信号 或者关闭其中一个麦克风 欢迎任何想法或评论 多谢 我对 Galaxy S3 不太熟悉 但以下情况适用于我使用过的大多数设备
  • strtotime 结果没有意义,php bug?

    以下行 echo date d strtotime First Saturday August 2015 prints 08 这似乎没有任何意义 因为一周中的某一天第一次出现不能在 7 号之后 这是一个 php bug 还是一个 php b
  • Android 开发:“线程因未捕获的异常而退出”

    我正在尝试创建我的第一个 Android 应用程序 游戏 但开始时遇到一些困难 当我运行我的代码时 我收到以下错误日志 05 25 02 41 51 022 WARN dalvikvm 634 threadid 1 thread exiti
  • UIView 动画块暂停动画和完成代码

    我有一个动画块来执行基于简单变换的动画 完成后将从其超级视图中删除有问题的视图 UIView msgView UIView alloc initWithFrame CGRectMake 160 120 160 100 Do stuff to
  • 文件夹内的批处理文件创建 MediaInfo.nfo 文件

    我正在尝试创建一个批处理 其目的是使用 MediaInfo exe CLI 创建一个包含文件夹中包含的视频文件的所有 mediainfo 的文本文件 nfo 批处理是从上下文菜单中执行的 右键单击包含视频文件的文件夹 为此 该文件将被放置在
  • 如何从 CLGeocoder 获取多个地标

    无论我向地理编码器提供什么地址 geocoder geocodeAddressString completionHandler 它总是只在地标数组中放置一个对象 我有什么方法可以获得多个结果 例如在地图应用程序中 用户可以从中选择一个结果
  • Visual Studio 解决方案中的多个 Web 应用程序项目

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