我如何预编译程序集?

时间:2015-02-03 19:46:21

标签: c# asp.net

我是ASP.NET的新手,并对已经存在的网站进行了一些小的更新。我对生产服务器上看到的差异与我给出的源代码感到困惑,并希望得到任何解释或建议。通常我会继续阅读和研究,直到我完全理解,但在这种情况下,我被要求在我的理解之前做一些小的更新。我需要做的就是更改表单中的一个元素。

在生产网站上,有\contact\survey.aspx等文件;目录中不存在.cs个文件,并且没有CodeFile指令。相反,有许多与这些页面相对应的DLL文件,如bin\App_Web_survey.aspx.fdf9difs9.dll

当我获得要编辑的网站的源代码时,我看到了不同的东西。这些与页面对应的DLL文件完全缺少bin文件夹;相反,每个aspx文件的文件夹旁边都有一个aspx.cs文件,后面是代码隐藏文件。我觉得很公平;该站点可以在其解释模式下运行,或者编译为DLL。

问题是,对于我的生活,我无法弄清楚如何做到这一点;我已经阅读了MSDN库上的几十页并且无处可去。

我正在使用Visual Studio Express 2013 for Web,我已经将源代码文件夹打开为网站。当我运行'build'时,它成功,但没有DLL,甚至在Debug文件夹中也没有。 This MSDN page有编译 Web应用程序项目的说明,但这些选项与我的可用选项不对应,所以我猜测网页应用程序和网站网站< / em>是区分的,或者Visual Studio 2013(我也尝试使用并且没有运气)与VS for Web 区别开来。我很茫然。

tldr :有人能快速总结一下编译ASP.NET网站的过程,导致其bin目录中有多个DLL文件吗?

1 个答案:

答案 0 :(得分:2)

您可能需要使用aspnet_compiler

aspnet_compiler -p sourceCodeRoot -v / targetRoot

请参阅How to: Precompile ASP.NET Web Sites for Deployment MSDN )。