我目前正在开发大型应用程序。 目前,我有一个解决方案(这可能会在充满时间的变化)与许多项目。中型/大型解决方案 - Visual Studio构建过程 - 需要咨询
我已经设置了目录结构:
\ LIB \(包含共享第三方组件) 构建\ 构建\ BIN(输出目录) 构建\ wwwroot文件(用于Web应用程序的输出目录) 配置\) 的src \(包含以下项目中的文件夹)
在各项目中,我已经设置了生成位置(输出目录)“.. \编译\ BIN \”这一点,因为如上所示,使项目在src目录之上构建到\ bin目录中。 在
Company.Entities 参考Company.Common 这有所有业务对象(客户,订单,产品)等....
Company.Common 包含的类格式字符串,日期,文件访问等。 不包含对公司任何其他公司的引用。库。
Company.Data 参考第三方LIB(温莎城堡例如) 这包含像IRepository,ICustomerRepository,IOrderRepository等.... 接口拥有RepositoryFactory类 - 这有一个调用的方法“获得( )“,它使用Ioc(Castle Windsor)返回,还包含用于解析这些存储库的当前实现的IoC。 Castle.config位于\ config \目录中 - 并在此项目中包含“作为链接”。我已经将它设置为始终复制到输出目录
Company.Data.LinqToSql 参考Company.Data 这是当前数据访问库。 它是由国际奥委会
Company.Logic实例 引用Company.Data 业务逻辑层 - 有一个像GetProductById(字符串ID)方法 - 这反过来调用Repository.Get()GetById(ID)。 - 例如
Company.Tests 自我解释...将在未来更多地使用它。
Company.Web 参考Company.Logic,Company.Entities,Company.Common 的Web UI层 - 这是主要的网站。
好的,希望能给你一点背景,介绍我当前的项目架构等。
目前,我正在构建一切到build/bin目录,除了Company.Web,它构建到build/wwwroot(这增加了一个bin目录) 然后我有一个后生成事件,复制aspx页面,样式表,图像,js文件等....从src/Company.Web位置构建/ wwwroot 我已经配置了Visual Studio以使用IIS进行调试,并设置了iis虚拟目录以指向我的生成/ wwwroot文件夹。
但是...... 某些必要的文件不会被内置到wwwroot文件/ bin目录 如 - Company.Data.LinqToSql - 因为这不是由proejcts引用,但使用的IoC
实例化哪有我改进了构建过程/项目结构以帮助我开发? 我会“大拇指”提出所有明智的建议。