为网站而不是源代码部署二进制dll有什么好处?

时间:2011-10-14 14:00:26

标签: asp.net deployment

我有一个小的内部应用程序,我正在反对自己为什么我不应该只将整个源文件夹复制到生产中,因为应该发布,将.cs文件编译为.dll。

但我不能以某种方式考虑任何现实的好处,除了减少在生产上直接改变逻辑的诱惑。你觉得怎么样?

5 个答案:

答案 0 :(得分:2)

它消除了在生产中改变那个小东西的诱惑......

此外,它可以保护代码免受恶意更改,它在“构建”和“部署”之间添加了额外的步骤,这可以用作自然QA速度提升,它会增加启动时间和其他十亿个事情。

答案 1 :(得分:1)

嗯,首先......确保您的网站可以编译。

除此之外,请查看Hanselman's Web Deployment Made Awesome: If You're Using XCopy, You're Doing It Wrong

答案 2 :(得分:1)

两件主要的事情:

  1. 正如反社会所指出的那样,它可以让你验证你网站上的所有网页是否真正进行了编译,这对于在它们到达很远之前捕获一些错误还有很长的路要走。
  2. 网站最终会在第一次访问时最终编译这些文件。通过预编译,您可以节省第一次加载的时间,这将使您的应用程序对您的一些用户感觉更敏感。

答案 3 :(得分:1)

好吧,只有你在谈论意见时,我才能同意你的意见。如果你在谈论控制器,我想你需要编译才能运行:)。

好吧,开玩笑说,我主要是为了完成二进制部署:

  • 确保我的代码编译(至少)
  • 加快视图生成(或第一次编译)
  • 简化补丁管理(我只提供一个dll,而不是整个webapp)

问候

微米。

答案 4 :(得分:1)

您应该发布应用程序的原因有很多:

  1. 表现更好;
  2. 您知道代码编译;
  3. 它更干净(没有.cs个文件使文件夹混乱);
  4. 通过不公开源代码获得一些安全性好处;
  5. 您可以将应用程序打包以进行测试,登台和生产