asp.net网站与Web应用程序[重复]

Posted

技术标签:

【中文标题】asp.net网站与Web应用程序[重复]【英文标题】:asp.net website vs web application [duplicate] 【发布时间】:2012-04-30 07:58:34 【问题描述】:

我在 asp.net 中阅读了很多关于网站与 Web 应用程序的讨论

我们在我的团队(10 名程序员)中的工作方式,我们使用项目类型“网站”,对于我们的开发环境,我们只需将源代码 (aspx + .cs) 复制到服务器。这样,所有的程序员都可以同时进行更改......并且服务器动态地进行构建。 .....(对于 prod 环境,他们构建应用程序)

现在,我开始了一个新项目,我决定使用 Web 应用程序(主要原因是 Web 配置转换选项)。我很快意识到(据我所知)它迫使你做一个每次更改都将 Web 应用程序构建/发布到服务器...这不是一个大问题 如果我是唯一一个从事此项目的人...

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

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

编辑

我们正在使用 Visual Source Safe...但仅用于跟踪旧版本(不适用于构建)...我熟悉 Subversion...但是..不幸的是,我不接受决定我们应该使用什么......我认为他们不愿意改变

感谢大家的回答...

【问题讨论】:

【参考方案1】:

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

这与我第一次在公司开始编程时使用经典 ASP 时使用的模型相同。这个模型有效,尽管我强烈建议也获得源代码控制。话虽如此,这是我长期要做的事情:

    源代码控制 本地开发 获得持续的构建过程(巡航控制是免费的)。 让一个人将每个人的更改推送到开发服务器,一旦每个人都同意所有更改相互兼容。 (通常这是通过确保构建服务器可以编译所有内容来完成的)。

【讨论】:

首先,感谢您的回复……是的,“只要”……意思是我也认为会有问题……我同意你的看法……我想我应该用我所知道的...我想我只需要搜索网站的配置转换选项...再次感谢! :)【参考方案2】:

如果您选择使用 Web 应用程序并在项目中添加更多程序员,我建议使用源代码控制。 Git 和 Subversion 非常受欢迎。例如,在 Git 中,您可以查看谁提交了什么。

当然,我会从一开始就使用源代码控制,无论您是独自一人还是与团队合作。

【讨论】:

我们正在使用 Visual Source Safe... 但仅用于跟踪旧版本(不适用于构建)...我熟悉 Subversion...但是...不幸的是,我不要决定我们应该使用什么......而且我认为他们不愿意改变......【参考方案3】:

正如@edmastermind29 所说,如果您拥有超过 1 个开发人员,源代码控制确实是保持这一点的第一要务。

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

我发现使用 Web 应用程序项目确实是所有“最佳实践”类型的最佳选择。

Check out this link for some guidance.

【讨论】:

【参考方案4】:

这实际上取决于您的团队如何工作,以及您的环境是如何配置的。无论如何,您需要有某种源代码控制系统,以确保您不会覆盖彼此的更改。如果您还没有适当的源代码控制系统,请立即停止并立即获得一个。

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

如果您选择功能更丰富的源代码控制系统,您应该能够利用分支和搁置等功能,这将允许您的团队同时处理相同的文件,并在文件被合并时合并更改签到。

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

【讨论】:

是否可以使用 Visual Source Safe 来协调构建...我们使用它。但只是为了保留旧版本..

以上是关于asp.net网站与Web应用程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在VS2015中缺少ASP.NET Web应用程序模版

ASP.NET 网页与 ASP.NET Web 应用程序? [复制]

如何将 protobuf-net 与通过 ASP.NET Web Reference 生成的类一起使用,同时避免代码重复?

Web应用程序和网站项目之间的区别[重复]

如何将 ASP.NET 网站转换为 ASP.NET Web 应用程序

ASP.NET 中的网站或 Web 应用程序