在我工作的地方,我们做了大量非常小的 ASP.NET 应用程序,并且发生过几次站点以预编译格式部署,并且需要更改应用程序,但是源代码中可用的版本控件已过时且开发人员不可用。该应用程序的 dll 必须被反编译并重新组合在一起。
理想情况下,永远不会发生开发人员通过测试和生产匆忙更改并跳过更改检查的情况,我们已经更改了我们的策略以防止这种情况发生,但我想知道在服务器上编译站点的开销是否每当应用程序池重新启动是一个足够大的问题,我们应该避免将我们的代码直接上传到服务器。如果我们可以下载实时源,那么在源代码管理中检查版本与实际实时版本会更容易。
预编译VS将cs文件直接上传到服务器并在那里编译有什么好处?
最佳答案
我不同意关于这一点的大多数答案。与临时发布文件相比,预编译有许多优点,其中最重要的是生产和测试环境中的代码或多或少保持同步。预编译可以确保您测试的代码是每次都投入生产的代码。
您遇到的问题不是预编译与首次运行编译。相反,它源于您使用的源代码管理类型。如果我不得不猜测(而且我确实这样做了),我会说您正在运行 Visual SourceSafe。如果您要切换到使分支和合并变得微不足道的源代码控制系统,那么您可以将代码分成 stable
和 development
分支。针对 dev
的错误修复分支(然后在验证后合并回 stable
分支)。这样,未经测试或未准备好用于黄金时间的代码不会最终出现在生产服务器上,并且您始终拥有 stable
的副本。开始工作。
关于asp.net - 我应该在部署之前预编译 ASP.NET 2.0 站点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/996712/