ASP.NET WebSite发布与复制?

我遇到了很多与发布有关的问题,比如当你需要对代码进行小的更改时,有时候IIS无法识别生成的DLL文件(发布时为default.aspx.CS的dll文件),说代码隐藏是错了什么的.很抱歉没有记住确切的错误消息.我希望你知道我在这一点上的意思.

因此,我通常做一个简单的复制粘贴操作而不是发布.

你可以告诉我,我没有使用Publish方法我错过了什么?出版物如何更好?或者您更喜欢哪一个,为什么?

基本上是它的利弊情况.

谢谢

解决方法

那么,这取决于你所说的“复制”:

使用发布,您可以选择预编译全部或部分应用程序.您可以发布到文件系统中的本地文件夹(而不是目标/主机),然后复制更新的文件(仅限).如果你正在使“代码隐藏”(c#/ vb代码)发生变化,这意味着你可能只需要“复制”/覆盖dll.不言而喻,如果您对“内容”更改(html / razor / script / etc)进行了更改,那么您还需要复制/覆盖这些更改.

如果您不熟悉部署,您可能会发现自己只是复制/覆盖“一切”,这是最安全的方式.获得更多经验后,您将“识别”您只需要更新哪些资产(一个或几个dll和/或内容代码,而不是“一切”).通常,这只是在您发布(本地)或重建Web应用程序后查看dll /文件的时间戳的问题.

我建议您进行本地发布,以便查看服务器上实际需要的内容.发布到本地文件系统/文件夹的文件是主机/服务器上需要的文件.这样做将可视化并删除发布的任何“神秘”:

>你会看到实际需要的东西(在你的服务器上)与不需要的东西
>您将看到文件时间戳,它将帮助您识别实际更改的文件与未更改的文件(因此不需要更新).
>一旦掌握了它,就不需要“复制”/ ftp“所有内容”,只需更新实际修改过的文件(仅限).

因此,“复制”可能意味着上述内容,或者如果您说您只是将所有开发代码(raw(vb / cs)html / cs / vb)复制到主机,那么这意味着您的站点将被动态编译为需要/请求每个资源(没有预编译).同样“简单”但你确实失去了预编译,这意味着每个网页都需要/需要时会有延迟(ASP.net需要动态编译).此外,您还在服务器上公开源代码.根据您的情况,这可能并不意味着什么,但还有一件事需要考虑.

这里有更多info on pre-compilation and options.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...