c# - ASP.Net - 新版本的代码是否仍在使用以前的程序集?

标签 c# asp.net deployment iis-7

昨天,大约两年后,我们重新部署了我们的应用程序。代码没有改变,但组成项目结构已经重新组织成更小的项目。一切似乎都很好,直到今天(下午 5 点 29 分)我们的一位用户指出了一个问题。从遇到的错误的性质来看,很明显新部署的应用程序没有使用重组解决方案中的新 DLL,而是仍在使用旧的。我删除了仍在部署 bin 文件夹中的旧 DLL,并意识到这会导致应用程序中断,从而证实了这一点。

我已经删除了 %WINDIR%/Microsoft.Net/Framework/v2.0/Temporary Internet Files 下的内容,但问题仍然存在。如果有人可以解释这一点和/或提出永久可靠的修复建议,我将不胜感激。

最佳答案

我们已经看到 3 种不同的情况导致了这个问题:

1) Internet 临时文件中的缓存 DLL。请记住,如果您已将应用程序升级到 .Net 4,则此目录位于 v4.0.30319 子目录中。

2) IIS 或用户浏览器中的缓存页面。将网站上的到期时间更改为立即(至少暂时)通常可以解决此问题。

3) 应该更新但没有更新的 DLL。此问题分为两类:

a) DLL 上的版本未更新,因此未部署新版本。

b) 开发人员未正确 checkin 或在构建机器上 checkout 要部署的代码。

我们始终能够通过验证上述各项来解决问题。

关于c# - ASP.Net - 新版本的代码是否仍在使用以前的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8930424/

相关文章:

deployment - 您如何管理 Oracle APEX 部署?

javascript - 如何跟踪使用特定输入元素的事件

c# - 从树或列表层次结构中查找对象

c# - OnCheckedChanged 事件未触发

c# - ASP.NET Core 2.0 ngrok 502 网关错误

reactjs - 尝试部署到 heroku 时找不到文件(在本地工作)

c# - 将 linq 与 PropertyInfo 结合使用

c# - WPF/XAML 如何指定从中加载资源的程序集?

asp.net - 如何在 ASP.NET 中通过 Post 将信息传递到 iframe?

asp.net 到 tomcat