DLL替换问题(黑暗中的谜语)
我在 Windows 服务和使用 IIS 处理 ASP.NET 应用程序的 Web 上都发生了以下情况。我有一个应用程序,我想在部署后更改其行为。为此,我终止应用程序进程(iis 工作进程)或停止 Windows 服务。我将其一个或多个 dll 重命名为扩展名 old。然后我把我想要的dll替换掉原来的dll。当我启动应用程序时,将使用原始 dll,而不是新的 dll(扩展名为 old 的 dll)。如果有人能为我解决这个谜语,我会很高兴。我必须清除某些缓存才能成功吗?
我正在使用 .Net Framework 2.0 如果这对你有帮助的话。
The following scenario happens to me both on windows services and web working with ASP.NET application using IIS. I have an application that I want to change its behavior after it was deployed. So to do that I kill the application process (iis worker process) or stop the windows service. The I rename one or more of its dlls to be with the extension old. Then I put the dlls that I want to replace the original dlls. When I launch the application the original dlls and not the new ones are used (the dlls whose extension is old). I will be happy if someone can solve this riddle for me. Is it some cache I will have to clear to succeed?
I am using .Net Framework 2.0 if that helps you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您应该考虑清除 ASP.NET 使用的 dll 缓存。在我的系统上,它位于此处:
C:\Windows\Microsoft.NET\Framework\v3.5\Temporary ASP.NET Files
您的系统可能会位于类似的位置,具体取决于 .NET 版本以及计算机是 64 位还是 64 位。 32位等
Yes, there is a dll cache used by ASP.NET that you should consider clearing. On my system it is located here:
C:\Windows\Microsoft.NET\Framework\v3.5\Temporary ASP.NET Files
Your's will probably be in a similar location, varying by .NET version and whether the machine is 64bit vs. 32bit, etc.