“完美”的.NET开发环境?

时间:2008-12-02 13:57:26

标签: .net version-control development-environment

我得到了一个早期的圣诞节礼物:
    退出开发周期的权限为重新组织文档我们的应用程序。
    我完全可以自由地重组,重构和设置我认为合适的任何数量的基础设施。

如果您有carte blanche,那么您的“完美”.NET开发环境是什么?

关于申请:
VB.NET客户端 - 服务器应用程序。 (Windows Forms前端,ASPX Webservices后端)
    目前使用Visual Studio和SQL Server 2003以及... Visual SourceSafe

我想要一些组合:
*更好的版本控制。 (倾向于Subversion)
* Wiki或其他用于错误跟踪和文档记录的系统。 (倾向于使用Subversion Trac
*简化的构建过程和每日构建(Visual BuildCruiseControl.NET?)
* SQL Server数据库的版本控制
*升级到Visual Studio 2005(或2008)?

...对于一个由5个左右开发人员组成的小团队

15 个答案:

答案 0 :(得分:12)

我认为你们都朝着正确的方向前进。

使用Visual Studio 2008.它在SP1中非常稳定,您可以同时定位.NET框架的版本2和版本3.

答案 1 :(得分:8)

无论你投入多少时间和思想,你可能永远都不会有一个“完美”的环境。每个工具都有自己的夸克和问题。不过,这里有一些值得深思的东西:

转到最新版本的Visual Studio Visual Studio 2008 SP1。

如果您是MSDN订阅者并购买了Visual Studio的Team System版本,则可以安装Team Foundation Server(TFS)。 TFS是一个非常漂亮的产品,集成到Visual Studio中。它使用Windows Sharepoint Services(WSS),它使您能够拥有wiki,文档存储库等(基本上是Microsoft Office Sharepoint Server的精简版)。 TFS还将为您提供最新版本的Visual SourceSafe,我没有遇到任何问题,微软谈到它可以扩展到数十万用户。 TFS Workgroup版本允许您最多使用5位开发人员,而无需购买许可证。超过5个用户,您将不得不购买许可证。我也很确定你必须使用SQL Server 2005才能运行TFS,但我可能错了。我们在一个盒子(我们的开发人员盒子)上安装了TFS,并且没有任何问题。

SO TFS会给你:

  • 协作
  • 版本控制
  • 报告项目状态
  • 问题跟踪
  • 集成到Visual Studio中
  • 很多其他好东西

对于您的日常和持续构建,我倾向于CruiseControl.NET(CC.NET)。我们尝试使用内置于TFS中的构建系统,但遇到了很多很多问题(我认为主要是因为我们的项目的结构方式)。 CruiseControl.NET轻松安装和配置,并且像冠军一样工作。您可以将其设置为连续构建(每个签入触发构建)和每日构建。您可能必须找到一些切割方法来使CruiseControl.NET执行一些更困难的任务(例如停止服务等),但它无法完成我需要做的任何事情。它也是相当可扩展的,所以你可以编写一些代码来使它做你想要的,这是一个很好的功能。

不确定数据库的版本,但我假设您可以使用TFS Source Safe来实现此目的。

祝你好运!

答案 2 :(得分:6)

我推荐以下工具(主要是因为它是我们正在使用的工具):

我们每个人都在本地机器上工作,并有一个单独的构建服务器,它监视Subversion存储库(使用CruiseControl.NET)并在该服务器上构建最新版本。

我们使用“MSBuild社区任务”在程序集中嵌入Subversion修订版号,以便我们可以将其显示给用户。

目前我们设置中最大的'漏洞'在数据库和我们的自动化测试中。

目前,我们都在运行中央数据库服务器。理想情况下,您应该努力创建一个在源代码管理下重新创建数据库的脚本。从我收集的内容来看,每次构建服务器重建站点时,它都应该重建数据库。您还应该有一个脚本,它将在数据库中生成您想要的任何测试数据。

使用这样的数据库构建,您也可以处理数据库的本地副本。

您可能希望查看Red Gate软件中的SQL Toolbelt(或部分内容) - 我们使用SQL Compare工具将模式部署到实时服务器,我对它们印象非常深刻。

祝你好运!

答案 3 :(得分:5)

任何完美的.NET开发环境都会安装ReSharper的副本。我是最近的皈依者,我喜欢

答案 4 :(得分:4)

我会投票给Team Foundation Server。然后你就可以在一个软件包中集成源代码控制,自动构建和(类型)错误跟踪,它与VS 2008非常完美地集成在一起。但它的价格相当陡峭。

答案 5 :(得分:3)

我的偏好是Visual Studio 2008 / Subversion / Trac / Anck和Tortoise / CruiseControl.NET(TeamCity / Bitten)设置。

我不是说TFS不是一个很好的产品,但我认为它“笨重”。我最近从Trac / Subversion解决方案切换到TFS,我更喜欢第一次设置。有细节,但他们很高兴与你合作。

示例:

  • TFS发送邮件进行签入和构建,在Trac中有一个简单的timeline Feed。 (TFS有变通办法。)
  • 当有新的签到时,点击链接(来自Feed),您就在Trac环境中。你看到一个很好的diff与前一个chancgeset。 (在TFS中的哪个地方?)
  • 集成的wiki是一个非常好的内部文档环境。
  • IntelliSense在Tortoise客户中征求您的意见
  • 浏览源码,更新文档的好网页界面(当我在家时很容易)
  • ...

小细节使它成为我的一个更好的工具。

我还说团队是一个小团队(也是5个开发人员),你需要一些时间来设置。我同意,当你与大型团队合作时,TFS可能更可取。

答案 6 :(得分:3)

在开发框中

在服务器上

答案 7 :(得分:2)

我对IDE和源代码管理的建议:

  • VS2008 SP1;
  • SubVersion,TortoiseSVN(适用于Windows资源管理器)和AnkhSVN(适用于VS2008)

答案 8 :(得分:1)

我最近转换为SourceGear Fortress。它便宜,快速,可靠。

我喜欢大型团队的TFS(> 20名开发人员)。我刚刚开始尝试使用Subversion,所以我还没有任何东西要分享,除了设置它很容易。

但是,Trac很难跑步。但这是文档问题,而不是产品本身。

答案 9 :(得分:1)

我的选择是:

  
    

更好的版本控制。

  

我选择SourceGear Vault - 坚如磐石,像魅力一样,你的源存储在SQL Server数据库中 - >可以很容易地备份,并且不像Visual SourceSafe那样片状。

  
    

Wiki或其他用于错误跟踪和文档记录的系统。

  

根据我的个人经验:FogBugz是您最好的选择 - 简单,轻松,快速掌握,完美地完成工作,只需工作,每个人只需“获取”而无需冗长而昂贵的适应/定制,无需很多培训 - 只是工作: - )

  
    

简化构建过程和每日构建(Visual Build?CruiseControl.NET?)

  

CruiseControl.NET是一个很好的免费选项 - 如果你不介意花一点点$$$,我也会看看FinalBuilder - 作为桌面或服务器应用程序。

  
    

SQL Server数据库的版本控制

  

- >使用Vault!以同样的方式工作。使用像Apex SQL Scripter这样的优秀工具或类似工具创建和维护SQL来创建和更新数据库模式,并将这些SQL脚本放入Vault。

  
    

升级到Visual Studio 2005(或2008)?

  

使用.NET 3.5 SP1上的Visual Studio 2008 SP1 - 可靠且充满新的生产力功能。

只需我0.02美元

答案 10 :(得分:0)

我们使用SourceGear的Vault进行版本控制,作为一个小团队,它对我们很有用。

对于项目/错误/支持跟踪,我们使用AxoSoft的OnTime 2008。

我们还使用ScrewTurn Wiki来记录程序和示例代码/最佳实践。

对于我们的构建过程,我们没有完全自动化到日常过程中,因为我们通常不会这样做。但是,对于测试版和发布版本,我只是在手动更新版本号之后使用NAnt为我做一个完整的版本(我这样做是为了让我们的支持团队获得更好看的版本号)。

绝对使用Visual Studio 2008. 2005版本在大型VB项目中确实存在很多问题(至少对我们而言)。

答案 11 :(得分:0)

我同意VS2008 SP1,SVN(与Ankh和Tortoise一起)

查看sandcastle / docproject以生成文档。

CruiseControl效果很好。

对于数据库的sourcecontrol,您可以在VS2008中使用数据库项目类型,并使用SVN(或您选择的其他源控制解决方案)将其保存在sourcecontrol下。

答案 12 :(得分:0)

我们正在使用带有Jira的Subversion进行错误跟踪,项目管理,FishEye and Crucible进行源浏览和代码审查,效果非常好。

我们是一个由12位开发人员组成的团队。我们是FinalBuilder的长期用户,我们用它来完成所有构建和自动部署 - 混合了VB.NET和Visual Studio 2008项目,它对我们来说非常好。我们以SQL Server 2005/2008数据库为目标,并将数据库对象保留在源代码控制存储库中。大多数时候我们使用Visual Studio 2008数据库版与Redgate的工具相结合,它对我们来说非常好 - 特别是管理变更脚本和其他东西。对我们来说,TFS根本没有成功 - 尽管你的里程可能会有所不同。我们发现它过于繁琐,难以定制工作流程,而不是帮助工作流程有一个不好的趋势。

答案 13 :(得分:0)

在VS 2008 SP1上非常好。我也强烈推荐:

答案 14 :(得分:0)

我听说过有关TFS的一些好事;然而,还有成本因素。你列出的工具可以很好地相互配合使用,并且是免费的。

我要为Subversion客户端添加TortoiseSVN。纯粹主义者不喜欢它,但它与Windows shell的上下文菜单(右键单击)集成的事实使它非常容易使用。

对于SVN版本,请使用最近发布的1.6版本。此版本改进了分支和合并。

Trac是一个很棒的工具。请务必阅读有关SVN提交消息的TracWikiTracLinks格式规则。 Trac会解析这些消息,因此如果您要为Ticket 123提交修复,则向SVN消息添加“#123”允许Trac将该提交(以及与之关联的所有文件)链接到相应的Trac票证。如果您决定转移到delta版本,这将变得特别有用。