最近,我们公司从一台服务器迁移到一台服务器。两台服务器都使用带有IIS6的Windows XP。
迁移后包括9个Web应用程序,其中2个应用程序在访问其页面时出现错误,其中包括与SQL Server读取进行交互。
我使用.Net Reflector来查看DLL中包含的类文件。我们认为代码中可能存在硬编码引用导致问题,但我什么也没找到。我注意到在.Net Reflector屏幕左下方的小窗口中,有关于有问题的DLL的以下信息(我已用通用引用替换了服务器名称和应用程序名称):
// Assembly SalesReports, Version 1.0.0.0
Location: \\<old server name>\d$\WEBAPPS\<application name>\bin\SalesReports.dll
Name: SalesReports, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Type: Library
在上面的代码段<old server name>
中,我当前查看的DLL实际上驻留在新服务器上。我希望Location能够引用新的服务器路径。这可能是我们公司执行应用程序的问题的根源。我的问题是,我不知道<old server name>
实际存在于物理DLL本身的位置。
有没有办法用<old server name>
文件中的新服务器名称覆盖web.config
引用,或者类似的东西?或者有没有办法使用ReflexIL将<old server name>
更改为新的服务器路径?用于迁移的方法是Windows资源管理器拖放副本。也许不同的复制方法会更新此处引用的位置。我现在只是抓住稻草。
提前感谢您对此事的任何帮助。