如果创建ASP.NET Web站点项目并运行它,则会得到一个空白页面。如果进入默认的CodeBehind文件,请添加到Page_Load方法throw new Exception();
中,保存该文件并在浏览器中进行刷新(无需重新构建),服务器将自动重建项目,页面将出错。ASP.NET不会自动重建
我有一个项目,我现在正在刷新页面不会导致项目被重建(使用新的aspx文件,但旧的DLL与他们一起使用)。这是什么原因造成的,我该如何纠正?
如果创建ASP.NET Web站点项目并运行它,则会得到一个空白页面。如果进入默认的CodeBehind文件,请添加到Page_Load方法throw new Exception();
中,保存该文件并在浏览器中进行刷新(无需重新构建),服务器将自动重建项目,页面将出错。ASP.NET不会自动重建
我有一个项目,我现在正在刷新页面不会导致项目被重建(使用新的aspx文件,但旧的DLL与他们一起使用)。这是什么原因造成的,我该如何纠正?
这个新项目是一个web应用程序项目吗?我相信你必须在看到变化之前真正构建它。
我不知道是什么一个“Web应用程序项目”是,但该项目创建为“ASP.NET网站”。 – 2009-07-15 12:52:03
Web应用程序项目是一种独立类型的项目,需要构建所有后台代码。生成的dll构建在bin文件夹下。代码背后的代码不会在执行中使用,如果您不想在已安装的Web服务器上公开您的代码,并确保执行速度更快(从不在运行时编译),则可以采用这种方法。
当您将其创建为“ASP.NET网站”时,它不是“Web应用程序项目”。
您正在使用网站模型。这些页面将在您访问它们时进行编译。同一个解决方案中的类库项目不会。因此,你为什么看到这种行为。
默认情况下,ASPX,后台代码和App_Code源文件被编译。如果您在解决方案中有单独的项目(可能是BLL或DAL),则只需刷新浏览器即可更新这些项目。
因此,要纠正它,您可以在Visual Studio中进行适当的构建,或者您可以将要更改的类文件移动到App_Code中。就个人而言,我会坚持前者(实际上我从未使用网站选项 - 总是Web应用程序项目)。
只有在App_Code中的代码会在其更改时自动重新编译。如果您的代码存在于其他任何地方,那么它就是您在“编译”时得到的预建DLL的一部分。
好的。你有'编辑和继续'启用? MSDN
这两个站点是否都使用VS自带的开发Web服务器?在IIS中?一人一个? – 2009-07-15 12:43:01
他们都使用ASP.NET开发服务器。 – 2009-07-15 12:53:59
我建议您阅读以了解网站和Web应用程序项目之间的差异:http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx#wapp_topic5 – AaronS 2009-07-15 15:11:03