用新的DLL替换旧的DLL

  • 本文关键字:DLL 替换 c# asp.net
  • 更新时间 :
  • 英文 :


我的客户丢失了他们的web应用程序的源代码,想对它做一些小的改变。我使用RedGate的。net反射器从DLL中提取源代码。使用生成的类文件,我能够在所需的位置进行更改并重新生成DLL。应用程序使用的应用程序池是1.1版本的"默认",我认为应用程序也是使用。net框架1.1创建的,但我使用visual studio 2008打开项目并创建新的DLL。旧的DLL也有一些版本号。我的问题是:由于应用程序已经在线,替换新的DLL会产生任何问题吗?由于给我们替换DLL的时间框架非常小,因为应用程序不能长时间离线,我想确保一切顺利。我走的路对吗?或者,我必须使用相同的框架(1.1)创建新的DLL吗?我还需要做什么来保持应用程序顺利运行,没有任何问题。请原谅我这个蹩脚的问题,但这是我第一次遇到这种情况。谢谢。

在重新构建DLL时,需要确保两件事:

[1]项目的目标框架与您将要部署它的框架相同。您可以从project->properties查看当前目标框架版本。如果您的活动服务器只有1.1版本,那么项目文件中的目标设置应该是1.1。

[2]需要确保满足所有依赖关系。您可以在解决方案资源管理器中的参考中看到所有依赖项。

如果有任何其他引用这个DLL的东西,您可能需要反编译/重新编译它,并且如果您解构源代码,公钥很可能会发生变化。你只需要复制它就可以了,这将触发应用程序池的重启。

为了限制遇到的问题,您需要根据1.1框架构建程序集。然后,在向下窗口期间:

  1. 停止应用程序池
  2. 更换组件
  3. 重启应用程序池

最新更新