简体   繁体   English

设置新.NET项目的最佳方法是什么?

[英]What's the best method for setting up a new .NET project?

So I'm newly in charge of projects at my company (We're still only 2 guys, but we're growing) and I want to set up my projects the right way. 所以我新负责我公司的项目(我们仍然只有2个人,但我们正在成长),我想以正确的方式设置我的项目。

All my projects are in an SVN repo already, I've got bug tracking software set up, but what I'm looking for is the best way to layout a new project with tests, SVN, and a build server. 我的所有项目都已经在SVN回购中,我已经设置了错误跟踪软件,但我正在寻找的是使用测试,SVN和构建服务器布局新项目的最佳方式。 I want to set up all our new projects for CI, but I'm not sure exactly how to lay everything out so it as smooth as possible. 我想为CI设置所有新项目,但我不确定如何将所有内容都放在一起,以便尽可能顺利。

I know I need: 我知道我需要:

  • A build server 构建服务器
  • All build/testing materials in the SVN repo (including DB schema) SVN仓库中的所有构建/测试资料(包括DB模式)
  • A project layout that's conducive to CI 一个有利于CI的项目布局

How do you guys set up your projects? 你们是如何设置项目的? I want to use MSBuild for my build server, since everything is already set up that way thanks to VS, but I'm also looking for tips on how files should be laid out, how projects should be laid out in a solution, etc. As it stands, I've got about 5 projects in my solution, one of which is the testing project that contains all the tests for the rest of my projects. 我想将MSBuild用于我的构建服务器,因为所有内容都已经通过VS设置,但我也在寻找有关如何布局文件,如何在解决方案中布置项目的提示等。按照目前的情况,我在我的解决方案中有大约5个项目,其中一个是测试项目,其中包含我的其余项目的所有测试。 Is this the preferred method? 这是首选方法吗?

How about layout inside your repository? 你的存储库里面的布局怎么样? Where do you keep your DB related stuff? 你在哪里保存与数据库相关的东西? Specs and documents? 规格和文件?

Do you use any particular software for CI, or just follow the "Continuous integration is more like a state of mind" mantra? 您是否使用任何特定的CI软件,或者只是遵循“持续集成更像是一种心态”的口头禅?

In general, I'm looking for tips on getting a new project off the ground the right way, so everything proceeds as smooth as possible later on, as well as being easy for new developers to get acquainted to. 总的来说,我正在寻找以正确方式开展新项目的技巧,因此一切都会在以后尽可能顺利进行,以及新开发人员很容易熟悉。

Tree Surgeon - http://www.codeplex.com/treesurgeon 树外科医生 - http://www.codeplex.com/treesurgeon

"Tree Surgeon is a .NET development tree generator. Just give it the name of your project, and it will set up a development tree for you in seconds. More than that, your new tree has years worth of accumulated build engineering experience built right in." “Tree Surgeon是一个.NET开发树生成器。只需将它命名为您的项目,它将在几秒钟内为您设置开发树。不仅如此,您的新树还具有多年积累的构建工程经验。在。”

Alex, 亚历克斯,

I'd suggest you start here: http://msdn.microsoft.com/en-us/library/ms998208.aspx 我建议你从这里开始: http//msdn.microsoft.com/en-us/library/ms998208.aspx

That covers Microsoft's own project structure recommendations. 这涵盖了微软自己的项目结构建议。 By the sounds of it you should indeed look to stick to the single solution architecture. 通过它的声音你应该确实坚持单一的解决方案架构。

In terms of a particular CI platform, there are obviously several options available. 就特定的CI平台而言,显然有几种选择。 Some of this comes down to taste as well as functionality. 其中一些归结为品味和功能。 Searching the net should give you most of the answers you need on the pro's and con's front! 搜索网络应该可以为您提供所需的大部分答案!

Nick. 缺口。

Cruise Control is a great product for Continuous Integration. Cruise Control是持续集成的绝佳产品。 Another option that is a little "easier" to set up is Jet Brains's TeamCity . 设置的另一个选择是Jet Brains的TeamCity

我将第二次投票选为Cruise Control作为CI,并注意到CruiseControl.NET与MSBuild的集成非常好。

So I change my structure as I learn but currently: 所以我在学习时改变了我的结构,但目前:

(SVN REPO)
/trunk
  MyProject  <-- solution & .build file (i use nant or msbuild)
    conf <-- IIS Settings etc go here
    docs <-- that documentation i never do
    lib <-- 3rd Party libraries eg ApplicationBlock,ASPNet MVC
    src
      Web
      Data
      Business
    test
      Web.Test
      Data.Test
      Business.Test  
    tools
      nant
      nunit
      moq
  Project2
    conf
    lib
    src
    test
    tools
/branches
/tags

Hopefully you should see my structure above 希望你应该看到我的结构

Jenkins is a great product. 詹金斯是一个很棒的产品。 Have very plugins and a active comunity. 有非常插件和活跃的社区。

Totally compative with .NET. 与.NET完全一致。 Support the machine slaves. 支持机器从站。

TeamCity是一个非常好的CI产品,它对于一定数量的项目是免费的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 .NET 6 中访问配置的最佳方法是什么? - What's the best method to access configuration in .NET 6? 在.net桌面应用程序中启用或禁用功能的最佳方法是什么? - What's the best method to enable or disable a feature in a .net desktop application 在.NET Web应用程序中使用Response.Redirect到弹出窗口的最佳方法是什么? - What's the Best Way to use Response.Redirect to for A Pop-Up in a .NET Web Application? 在多租户.net项目中实现角色的最佳方法是什么? - What's the best way to implement roles in a multi-tenant .net project? 在基于DLL更改的.NET项目中实现缓存清除的最佳方法是什么? - What's the best way to implement cache busting in a .NET project based on DLL changes? Web 客户端为其使用的库设置配置的最佳方法是什么 - What is the best approach to a web client setting up configurations for a library it uses 从文件设置Fluent NHibernate的指南-新项目 - Guide to setting up Fluent NHibernate from File - New Project 将参数传递给SQLCommand的最佳方法是什么? - What's the best method to pass parameters to SQLCommand? 最好的 .NET 游戏开发框架是什么? - What's the best .NET game development framework? 熟悉.NET - 最好的方法是什么? - Getting familiar with .NET - What's the best way?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM