繁体   English   中英

用新DLL替换旧DLL

[英]Replacing old DLL with new DLL

我的客户丢失了Web应用程序的源代码,并希望对其进行一些小的更改。 我使用RedGate的.Net Reflector从DLL中提取源代码。 使用生成的类文件,我可以在所需的位置进行更改并重新生成DLL。 该应用程序使用的应用程序池在版本1.1中为“默认”,我认为该应用程序也是使用.Net Framework 1.1创建的,但是我使用Visual Studio 2008打开了项目并创建了新的DLL。 旧的DLL也有一些版本号。 我的问题是:由于该应用程序已经在线,替换新的DLL会造成任何问题吗? 由于替换该DLL的时间非常短,因为该应用程序无法长时间保持离线状态,因此我想确保一切正常。 我遵循正确的方法吗? 或者,是否必须使用相同的框架(1.1)创建新的DLL? 为了使应用程序流畅运行而没有任何问题,我还需要做什么。 请原谅我这个la脚的问题,但这是我第一次遇到这种情况。 谢谢。

重新生成DLL时,需要确保两件事:

[1]项目的目标框架与您将在其上进行部署的目标框架相同。 您可以从project-> properties检查当前目标框架版本。 如果您的实时服务器只有1.1,那么在项目文件中设置的目标也应该如此。

[2]需要确保满足所有依赖性。 您可以从解决方案资源管理器中的“引用”中查看所有依赖项。

如果还有其他引用此DLL的文件,则可能需要反编译/重新编译该文件,并且如果您解构源代码,则公钥很有可能会发生变化。 您应该安全地将其复制过来,这将触发应用程序池的重新启动。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM