我刚开始使用cms(N2),它使用vs2008中的网站项目模板进行模板基本实现。我注意到,在编译时,它比使用我更常用的Web应用程序项目需要更长的时间。
我的问题是:
如果这是重复的话我很抱歉,但我找不到类似的问题。
干杯
答案 0 :(得分:10)
主要差异是:
在 Web应用程序项目中,所有代码隐藏页面都会被预编译成.dll ----在 Web站点项目中没有任何内容项目是预编译的,编译器将编译所有内容以确保它是有效的,但没有上传任何已编译的页面。当用户首次尝试访问该站点时,每个页面都被编译到其自己的dll中。这意味着在网站项目中,您可以上传单个代码隐藏文件。
命名空间 - 在 Web应用程序项目中,默认情况下在网站项目中创建命名空间。
项目文件 - 网站项目没有 Web应用程序项目的“cproj”文件。
Converting to a Web Application project可能比你想的更困难,特别是如果你非常依赖appcode文件夹。
我个人更喜欢 Web应用程序项目我觉得它们更容易使用,而且不那么讨厌部署。我个人只会在非常小而简单的事情上使用网站项目。
额外阅读MSDN
答案 1 :(得分: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应用程序项目没有像Web站点项目那样自动添加到每个页面的Profile对象,因此我们无法获得对web.config文件中定义的配置文件属性的强类型编程访问。
安东尼: - )
答案 2 :(得分:1)
我的偏好是使用网站项目而不是网络应用程序。我主要依靠“在浏览器中查看”来在开发过程中执行页面而不是f5。我可以打开浏览器窗口并修改代码,而无需关闭运行时浏览器。通常,如果我需要调试,我将IDE附加到适当的进程。根据我的经验,这样做更有效,而不是每次编译或重新启动时编译和重新启动应用程序。如果应用程序具有登录页面,则会更加放大。每次按下F5时都会避免登录 - 授予了设置方法。但偏好不是。