9

我刚刚开始使用一个 cms (N2),它有一个使用 vs2008 中的网站项目模板的模板基本实现。我注意到,在编译它时,它比使用我更习惯的 Web 应用程序项目花费的时间要长得多。

我的问题是:

  1. 为什么编译似乎需要更长的时间?
  2. 哪个更好用?
  3. 我应该将其转换为 Web 应用程序吗?

如果这是重复的,我深表歉意,但我找不到类似的问题。

干杯

4

3 回答 3

10

主要区别在于

Web 应用程序项目中,所有内容都经过预编译,所有代码隐藏页面都将被编译为 .dll ---- 在网站项目 中,项目中没有任何内容是预编译的,编译器将编译所有内容以确保其有效但没有任何已编译的页面被上传。当用户第一次尝试访问该站点时,每个页面都会被编译成自己的 dll。这意味着在网站项目中,您可以上传单个代码隐藏文件。

命名空间 - 在Web 应用程序项目中,默认情况下会在网站项目中创建命名空间,但它们不是。

项目文件 -网站项目没有Web 应用程序项目所具有的“cproj”文件。

转换为Web 应用程序项目可能比您想象的要困难得多,尤其是如果您严重依赖 appcode 文件夹。

我个人更喜欢Web 应用程序项目,我发现它们更易于使用且部署起来不那么烦人。我个人只会在非常小而简单的事情上使用网站项目。

来自MSDN的额外阅读

于 2009-02-11T22:20:51.947 回答
1

除了 Chris 提供的信息之外,您还应该注意,对于 Web 应用程序项目,配置文件不是开箱即用的:

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

这里有一个解决方法:http: //code.msdn.microsoft.com/WebProfileBuilder

基本上,Web 应用程序项目不会像网站项目那样将 Profile 对象自动添加到每个页面,因此我们无法获得对 web.config 文件中定义的配置文件属性的强类型编程访问。

安东尼:-)

于 2009-02-12T15:09:37.497 回答
1

我的偏好是在 Web 应用程序上使用网站项目。我主要依靠“在浏览器中查看”在开发过程中执行页面,而不是 f5。我可以在不关闭运行时浏览器的情况下保持浏览器窗口打开并修改代码。通常,如果我需要调试,我会将 IDE 附加到适当的进程。以我的经验,这样做比每次我必须编译或进行更改时都编译并重新启动应用程序更有效。如果应用程序有登录页面,这一点会更加放大。每次按下 F5 时都无需登录——当然有办法进行设置。但偏好不是。

于 2010-04-15T11:57:38.157 回答