
6.7 Web应用程序项目属性
由于Web应用程序的独特需求,因此ASP.NET Web Application项目可以使用另外4个项目属性选项卡。这些选项卡控制着Web应用程序如何从Visual Studio中运行,以及打包和部署选项。
6.7.1 Web选项卡
Web选项卡(如图6-24所示)可以控制Web应用程序项目在Visual Studio中执行时的启动方式。Visual Studio带有一个用于开发的内置Web服务器。Web选项卡可以配置这个服务器的端口和虚拟路径。还可以选择启用NTLM身份验证。

图6-24
Enable Edit and Continue选项允许在调试会话中编辑后台代码和独立的类文件。无论这个设置是什么,都可以编辑.aspx或.ascx页面中的HTML,但不允许编辑.aspx或.ascx文件中的内联代码。
Web应用程序的调试选项请参见第43章。
6.7.2 Silverlight Applications选项卡
Silverlight Applications选项卡可以方便地提供对Silverlight项目的链接,并把它承载在ASP.NET Web应用程序中。
给Web应用程序项目添加Silverlight应用程序时,如果当前的解决方案有一个Silverlight项目,就可以选择它,也可以创建新的Silverlight项目,如图6-25所示。该对话框允许给新的Silverlight项目选择位置和语言,还允许选择把Silverlight应用程序包含在当前Web应用程序中的方式。

图6-25
如果添加新的Silverlight应用程序时接受默认值,Visual Studio就会创建对新项目的引用,并在Web应用程序中生成3个文件:一个静态的HTML页面、一个ASP.NET Web窗体和一个JavaScript文件。JavaScript文件包含了加载Silverlight应用程序并根据需要在运行期间安装它所需的逻辑。
第25章将介绍Silverlight应用程序的开发和把它们承载在已有Web应用程序中的选项。
6.7.3 Package/Publish Web选项卡
应用程序的部署一直都是一项很困难的挑战,尤其是对于复杂的Web应用程序。典型的Web应用程序不仅包含大量源文件和程序集,还包含图像、样式表和JavaScript文件。更复杂的是Web应用程序还可能依赖IIS Web服务器的某个特定配置。
Visual Studio 2015简化了这个过程,允许把Web应用程序项目、所有需要的文件和设置打包到一个压缩(.zip)文件中。图6-26显示了可用于ASP.NET Web应用程序的打包和部署选项。

图6-26
有关Web应用程序部署的更多内容请参见第50章。
6.7.4 Package/Publish SQL选项卡
哪怕最简单的Web应用程序都由某种数据库支持。对于ASP.NET Web应用程序,这一般是SQL Server数据库。Visual Studio 2015支持打包一个或多个SQL Server数据库。尽管项目属性仍包含Package/Publish SQL表格,但该页面默认情况下是不可用的。相反,用于SQL部署的配置显示为Publish Web Wizard的一部分。
这个表格的默认外观包含一个按钮,可用于重新启用这个窗体。单击该按钮,就会恢复Visual Studio 2012中的使用方式。如图6-27所示,创建一个包时,可以为源数据库指定连接字符串,允许Visual Studio只为数据库模式或者同时为数据库模式和数据创建SQL脚本。还可以提供在自动生成的脚本前后执行的定制SQL脚本。

图6-27