.net解决方案颠覆最佳做法?

时间:2008-08-19 21:13:37

标签: visual-studio svn version-control deployment configuration-management

有很多关于如何设置你的dotnet项目的例子,但似乎没有一个适合我们的情况。

我们有一个具有多个应用程序,多个依赖项的解决方案。我们目前在SourceSafe上,并计划转向颠覆,但发现很难以正确的方式组织我们的来源。

  • 示例解决方案

    • App1的
    • App2的
    • BizObjects
    • 数据访问
    • CustomControls
  • 依赖关系

    • BizObjects->数据访问
    • App1-> CustomControls
    • App1-> BizObjects
    • App1->数据访问
    • App2-> CustomControls
    • App2-> BizObjects

我们还有一个配置管理系统,它根据运营商的工作负载部署(通过数据库中的副本)。我们用一个版本标记一个应用程序“release”,并且对于该版本,我们添加了多个文件依赖项。请记住,我们现有的解决方案是尝试对旧的(Windows 3.1开发的)解决方案进行创可贴,以使用.NET文件/依赖结构。

对于App1,我们有App1.exe,BizObjects.dll,DataAccess.dll和CustomControls.dll。 由于BizObjects引用DataAccess,我们对App2具有相同的依赖关系 - 但这是手动定义的。我们没有适当的系统来识别依赖树。

“release”的每个依赖项都是文件和版本ID。并且相同的应用程序可以包含针对不同工作负载的每个文件的不同版本。

  1. 世界上哪里出错了?我们出错了吗?
  2. 我们如何构建svn源代码树以满足部署要求?
  3. 我们如何重新构建代码,更好地支持对我们的设置有意义的部署策略?
  4. 我们有一个旧的,过度设计的解决方案(似乎)是一个相对简单的问题。任何人都可以引导我/我们走向正确的方向吗?

    编辑:我读了this个问题,并记得我们也有相同的开发/测试/产品区域代码必须通过。

2 个答案:

答案 0 :(得分:1)

这是一个可能相关的问题。 link text

答案 1 :(得分:0)

听起来你正试图用源代码控制系统进行配置控制。

Subversion我不是正确的选择,因为它实际上是源代码(ascii文件)和构建依赖项,而不是可执行文件(二进制)和运行时依赖项。

我的猜测是你真的需要一个安装程序: http://en.wikipedia.org/wiki/List_of_installation_software

或者只是一个从网络驱动器启动正确配置的脚本。