.Net实施

时间:2008-12-31 22:11:25

标签: asp.net .net visual-studio

我曾在两家以两种不同方式实施ASP.Net的公司工作过。我倾向于倾向于A,但我目前的工作遵循B(更典型)的方法。我想知道哪个是最好的,还有这些实现的正式名称吗?

A)没有建立任何项目或解决方案。我们只是将Visual Studio指向一个目录并开始构建页面(我们有一个内嵌的aspx页面和aspx /代码隐藏页面的组合)。我们只是将文件推送到服务器,就是这样。如果我们需要任何第三方功能,所有类和服务都位于App_Code目录或Bin中。我们从未在.Net中使用过“构建”功能,而且大部分内容都是JIT编译的。调试是用旧式的Response.Write()方式完成的。

B)创建一个项目。有Resx文件,sln文件和项目文件等。项目的编译,构建和调试是我最确定的.Net开发人员习惯的方式。一切都与VS IDE紧密相关,并且尝试在另一个Visual Studio副本中打开“项目”需要与发起项目的人相同的目录/ localhost设置。

听取那些在两种实施方式中都有所作为的人以及他们在任何一方找到的好处,这将是有趣的。

我的理由是,我想我想让我当前的开发团队更多地转向A实现,并删除所有这些锁定VS的外围文件和配置,但我也是开放的听取喝微软Kool-Aid的好处。

8 个答案:

答案 0 :(得分:7)

我有充分理由使用这两种方法,但坦率地说B)比A)更好。

如果您正在开发代码,然后将其移交给开发能力有限的客户,那么A)(我们称之为网站项目)可能是最好的方式,同时保持其他一切都很简单可能的。

但是,如果您正在开发一个只有您的公司会处理代码的应用程序,那么您真的希望学习与B)方法相处(我们将其称为Web应用程序项目)。

Web应用程序项目可以更好地控制项目中的内容,实际发布的内容以及最重要的可以导致更好的测试。我建议你采用这种方法,而不是试图说服你的同事远离网络应用程序。避免在App_Code和代码隐藏文件中释放代码。构建和发布程序集,添加到解决方案库项目中。

答案 1 :(得分:3)

我宁愿“锁定”Visual Studio而不是丢失我的调试器。你们多久需要在VS之外发展?我猜从不。您已经在使用MS产品,按照预期的方式使用它。

答案 2 :(得分:3)

如果您正在使用ASP .NET,那么您已经在“喝微软Kool-Aid”,或者至少啜饮它。

使用A,您主要使用Visual Studio作为美化文本编辑器,所有调试,组织和其他工作都是手动完成的。

使用B,您可以使用Visual Studio中的所有调试和编辑功能。缺点是Visual Studio有自己的方式做一些最初推到你身上的事情;虽然付出了一些努力,但您可以修改项目设置以按照您的意愿行事。

在任何情况下,你都必须比较你获得的和你失去的。在从A到B的情况下,您正在失去一点灵活性,但获得了大量的调试功能。

答案 3 :(得分:2)

几天前见this question and answers ......

答案 4 :(得分:2)

我更喜欢方法A.我喜欢尽可能简单。使用方法A,我知道网站需要目录中的所有内容。使用B,可以从项目中排除文件,但仍然在目录中包含这些文件。如果您从Windows资源管理器中查看该站点,我认为这会令人困惑。

使用A可以轻松地将小修补程序部署到页面。使用B,您需要重新编译项目并重新部署。与此相关的A允许您使用任何编辑器进行更改和部署。 B要求您使用VS.net。

B引入了更多依赖性和复杂性,这可能导致更多与站点代码无关的问题。

A适用于任何源代码控制。有了B,我就遇到了项目和解决方案文件的问题。 B还为项目添加了网站不需要的文件。

使用A和B,您可以使用VS.net进行调试。没有必要在A。

中使用response.write

答案 5 :(得分:1)

我也来自两者。 如果像安东尼所说的那样,如果其他人将为网站提供服务,那么选项A真的是要走的路。 选项b使开发变得更加容易,对我而言,我认为你可以从选项B中获得更高的生产力。

答案 6 :(得分:0)

你对B)的运作方式做出了错误的断言:

  

尝试在另一个Visual Studio副本中打开“项目”需要与发起项目的人相同的目录/ localhost设置。

这不完全正确。重要的设置应该包含在解决方案中,虽然您确实需要相同的文件夹结构,而这正是项目的一部分,而不是您所暗示的繁重负担。在开发人员之间移动项目通常很容易。至少,并不比具有类似范围的桌面应用程序更难。

如果您正在使用源代码管理,则尤其如此。只需查看项目,您担心的任何文件夹结构都应随附。

答案 7 :(得分:0)

“一切都与VS IDE紧密相关,并且尝试在另一个Visual Studio副本中打开”项目“需要与发起项目的人相同的目录/ localhost设置”

不是我的经验。在Web项目下,目录需要相同,但任何Web应用程序都是如此。如果您正在讨论第三方引用(例如dll),那么您只需创建一个名为“引用”的文件夹并将其放入其中。这样,每个人都将指向相同的文件夹(就本地项目而言......如果将项目存储在与其他人不同的名称目录中,则无关紧要。)

至于localhost设置......我不确定你得到了什么。方法A与方法B在Web服务器设置方面有何不同?