现在我有一个ASP.NET解决方案,其中包含一个项目。我面临的问题是,多个开发人员正在处理项目的不同部分,这些部分将在不同时间发布。因此我的项目经理认为我们可以将项目分成多个dll而不是一个dll,这样我们就可以只更新需要更新的模块。
1。是否将项目拆分为多个项目(多个dll)以解决此问题的正确方法?
2。如果是这样,我该怎么做? 我可以将相应的aspx / cs文件复制到新项目中,从旧项目中删除它们并构建吗?那么Master Pages,CSS,Javascript和User-Controls,我还需要复制那些,还是可以在“Core”项目中引用它们?我是否需要在IIS中进行一些调整,或者我可以将aspx从新的“子项目”复制到“核心”项目的根目录(基本上是现在的aspx文件)?
第3。如果没有,解决我的问题的最佳解决方案是什么?
感谢您的帮助
编辑(添加更多清晰度):
现在我们的结构是这样的(隐含缩短和代码隐藏):
MasterPage.master
styles.css
SplashPage.aspx
Page.aspx
AnotherPage.aspx
a_MasterPage.master
a_Page.aspx
a_AnotherPage.aspx
b_Page.aspx
b_AnotherPage.aspx
b_AlsoAnotherPage.aspx
我可以抓取所有a_
页面并将它们滚动到一个项目和所有b_
页面中并将它们滚动到另一个页面(这将分隔dll)。
如果这没有意义,请询问,我会尝试更好地解释
答案 0 :(得分:2)
是
如何?不要考虑页面,而是功能。处理问题的最佳方法是将业务逻辑移出ASP.NET体验层项目并将其放入类库中。然后,您可以让不同类型的开发人员处理不同类型的代码。
现在,如果你真的有不同的“网站”,意味着它们用于不同的目的,那么你可能不得不将一些页面移动到另一个页面和其他页面。我无法回答这是否是需要。
希望这一切都有道理。注意:如果您的代码包含在Page_Load()和事件处理程序中,那么在将代码重构为单个方法之前,您几乎已经搞砸了。
答案 1 :(得分:1)
3.。)某些版本控制系统如何更好地为您服务?
像这样分割项目并不是一个好主意,如果你想分割该项目的逻辑/物理层(你可以有不同的项目用于数据访问,另一个用于业务逻辑等),这是有意义的。 )但是拆分到项目,其中一个包含“welcome.aspx”,第二个包含“contact.aspx”..嗯我宁愿使用SVN / Git / TFS / Whatever;)
答案 2 :(得分:1)
通常根据功能或功能拆分项目,例如。您可以将数据访问层拆分为不同的项目。
我试图将我的观点放在一起并分离核心功能,因此在不同的网站上使用相同的dll会很容易。
例如:我有一个包含所有方法的项目和一个用于用户管理的数据库。 我可以在服务器上部署这个项目,并在我的所有网站中引用它。 这样,用户就可以在我的所有网站上使用相同的登录信息。
因此,一旦拥有核心系统,每个人都可以创建自己的项目,只需参考所需的项目。
是的,您只需将您的aspx / c#文件移动到其他项目并引用现有项目中的新项目。
我确实认为每个项目都需要他自己的主页(上次我检查过它)。
我希望这能回答你的问题。