关于网站项目:asp.net网站与网络应用程序

asp.net website vs web application

本问题已经有最佳答案,请猛点这里访问。

我读了很多关于ASP.NET中网站与Web应用程序的讨论

在我的团队(10个程序员)中,我们使用项目类型"Web站点",对于我们的开发环境,我们只需将源代码(aspx+.cs)复制到服务器。这样,所有程序员都可以同时进行更改。服务器动态地进行构建。…..(对于prod环境,它们构建应用程序)

现在,我正在启动一个新项目,我决定使用Web应用程序(主要原因是Web配置转换选项)。我很快就意识到(据我所知)它迫使你在每次更改后都在服务器上构建/发布Web应用程序…如果我是唯一一个在这个项目上工作的人,这不是一个大问题…

但是,现在我想知道,如果更多的程序员需要同时处理这个新项目,将会发生什么?

有什么建议或类似情况吗?

编辑

我们正在使用可视源安全…但仅用于跟踪旧版本(不适用于生成版)…我熟悉颠覆……但是…不幸的是,我没有决定我们应该使用什么……我认为他们不愿意改变

谢谢大家的回答…


只要我听到,这就不是什么大问题了。…立即告诉我,我应该假设这是个问题。简而言之,做你所知道的。如果您熟悉使用ASP.NET网站,那么我将使用它。您的开发实践已经专注于处理这些问题。

这是我在一家公司开始编程时做经典ASP时使用的相同模型。虽然我强烈建议您也使用源代码管理,但这个模型仍然有效。也就是说,我要做的是长期的:

  • 源控制
  • 局部开发
  • 继续进行构建过程(巡航控制是免费的)。
  • 一旦每个人都同意所有的更改彼此兼容,就让一个人将每个人的更改推送到开发服务器上。(通常,这是通过确保构建服务器可以编译所有内容来完成的)。

  • 这实际上取决于您的团队是如何工作的,以及您的环境是如何配置的。无论如何,您需要有某种类型的源代码管理系统来确保不会覆盖彼此的更改。如果您尚未安装源代码管理系统,请立即停止并获取源代码管理系统。

    根据您选择的源代码管理系统,您至少将具有基本的签入/签出功能,作为代码库的库;这意味着如果我签出了一个文件,在我重新签入之前,您不能触摸它。

    如果您选择一个功能更丰富的源代码管理系统,那么您应该能够利用诸如分支和搁置之类的功能,这将允许您的团队同时处理相同的文件,并在签入文件时合并更改。

    虽然您的问题是关于网站和Web应用程序,但答案是源代码管理。有了一个好的源代码管理系统,除了需要与Web应用程序协调构建之外,您的问题或多或少变得无关紧要。


    正如@edmastermind29所说,如果有超过1个开发人员,那么源代码管理实际上是保持这一点的第一件事。

    这真的取决于您的开发过程。大多数商店都进行某种类型的持续集成,运行单元测试,并具有某种类型的自动构建过程。

    我发现使用一个Web应用程序项目对于所有"最佳实践"类型的事情都是最好的。

    查看此链接以获取一些指导。


    如果您选择使用Web应用程序并在项目中添加更多的程序员,我建议您使用源代码管理。Git和Subversion非常流行。例如,在Git中,您可以看到谁提交了什么。

    当然,无论您是独立的还是与团队合作的,我都会使用get-go中的源代码管理。