Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 网站项目与Web应用程序-哪个更好?_Visual Studio 2008_Web_Web Applications_N2 - Fatal编程技术网

Visual studio 2008 网站项目与Web应用程序-哪个更好?

Visual studio 2008 网站项目与Web应用程序-哪个更好?,visual-studio-2008,web,web-applications,n2,Visual Studio 2008,Web,Web Applications,N2,我刚刚开始使用cms(N2),它有一个模板基本实现,在vs2008中使用一个网站项目模板。我注意到,在编译时,它比使用我更习惯的web应用程序项目花费的时间要长得多 我的问题是: 为什么编译起来似乎要花更长的时间 哪个更好用 我应该将其转换为web应用程序吗 如果这是重复的,我很抱歉,但我找不到类似的问题 干杯主要的区别是: 在Web应用程序项目中,所有内容都是预编译的,所有代码隐藏页都将编译成.dll——在网站项目中,项目中的任何内容都是预编译的,编译器将编译所有内容以确保其有效,但编译后的页

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

我的问题是:

  • 为什么编译起来似乎要花更长的时间
  • 哪个更好用
  • 我应该将其转换为web应用程序吗
  • 如果这是重复的,我很抱歉,但我找不到类似的问题


    干杯

    主要的区别是:

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

    名称空间-在Web应用程序项目中,默认情况下,名称空间是在网站项目中创建的,而不是

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

    可能比您想象的更困难,特别是如果您严重依赖appcode文件夹

    我个人更喜欢Web应用程序项目,因为我发现它们更易于使用,部署起来也不那么烦人。我个人只会在一些非常小和简单的东西上使用网站项目


    额外阅读

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

    这里有一个解决方法:

    基本上,Web应用程序项目没有像Web站点项目那样将概要文件对象自动添加到每个页面,因此我们无法获得对Web.config文件中定义的概要文件属性的强类型编程访问


    Anthony:-)

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

    看看这个问题:不,只是最近工作很忙,所以没有及时整理。。。现在全部完成:-)您还可以编译一个Web站点项目的可能副本,以便将所有隐藏代码和应用程序代码编译成DLL,并且所有aspx页面都只是存根。但是,它们不像web应用程序那样被编译到单个dll中。是的,您可以,但我可能错了,您需要使用msbuild,并且您只需要将page.cs文件转换为page.dll。我不认为这会给你带来比第一次启动更快的好处+1谢谢你的总结:-)我支持你选择web应用程序项目路线。现在的决定是现在或以后转换;-)实际上,您可以使用aspnet_merge.exe命令将所有编译后的代码放入一个dll中。这是一篇关于使用aspnet编译器管理dll的老文章,但它仍然是相关的:+1感谢这一点,我不知道这一点,因为我以前从未使用过:-)没问题。实际上,我打算自己修补N2,但不知道它是基于一个网站项目:-)+1有效点,我在我工作的网站上使用它。有趣的是,这也是如何处理asp.net mvc应用程序项目的方法;构建>点击刷新,IDE中不需要f5。这只取决于你在写什么,你想达到什么目标:-)