Visual Studio中的发布选项是否被视为ASP.net Web应用程序的预编译?

Visual Studio中的发布选项是否被视为ASP.net Web应用程序的预编译?,asp.net,compilation,publish,precompiled,pre-compilation,Asp.net,Compilation,Publish,Precompiled,Pre Compilation,我很难理解什么时候网站被认为是“预编译的”。据我所知,如果我在VisualStudio中使用发布或构建部署包选项,那么它是预编译的,但是如果我只是使用类似xcopy的东西,那么它不是预编译的。正确吗?ASP.NET网站项目有一个xcopy部署选项,其中所有文件(包括aspx、aspx.cs、ascx、ascx.cs等)都按原样复制到生产web服务器。ASP.NET运行时在收到第一个请求时编译站点。如果检查文件夹C:\Windows\Microsoft.NET\Framework\v\Tempor

我很难理解什么时候网站被认为是“预编译的”。据我所知,如果我在VisualStudio中使用发布或构建部署包选项,那么它是预编译的,但是如果我只是使用类似xcopy的东西,那么它不是预编译的。正确吗?

ASP.NET网站项目有一个xcopy部署选项,其中所有文件(包括aspx、aspx.cs、ascx、ascx.cs等)都按原样复制到生产web服务器。ASP.NET运行时在收到第一个请求时编译站点。如果检查文件夹C:\Windows\Microsoft.NET\Framework\v\Temporary ASP.NET Files,则可以看到输出。这显然非常容易部署,因为我们所要做的就是将文件复制到web服务器上。然而,第一个访问者支付的价格是网站第一次编译的时间。发布选项在部署之前执行此操作。它编译网站项目并生成准备运行的程序集。发布中有一个选项,可以保持aspx文件不变,以便可以修改这些文件。在这两种情况下,都没有.cs文件,因为这些文件已编译到程序集。查看更多详细信息

HTH

它是“编译”的,因为您将拥有web代码的MSIL DLL。但是,您仍然需要进行JIT编译。如果您正在使用.NET 2.0或更高版本,则应使用NGEN实用程序来防止此预热时间。请注意,NGEN仅对消除应用程序的第一次“启动”时间有用。因为JIT代码可能会与NGEN代码不同步,所以它确实使维护变得更加困难。在我的企业环境中,我们选择不使用NGEN是因为这些潜在的陷阱

请参阅以下链接: