这让我发疯!我的服务器上有一个 asp.net 应用程序。它引用了两个 dll 文件,它们位于服务器上我的 GAC 中。我还在 GAC 文件夹中放置了 pdb 文件,以便我可以远程调试。
这是我的问题:当我调用以下命令时:
addToAbsenceList(e.Initials, a.StartDate, a.EndDate, a.Type.TypeId, vacationDays);
我可以看到 e.Initials 包含值“OFR”。当我按 F11 跳转到 addToAbsenceList 时:
addToAbsenceList(string initials, DateTime startDate, DateTime endDate, int AbsenceType, double duration)
变量 initials 现在包含值 NULL。
我刚刚纠正了这个问题(以前它总是发送 NULL - 现在它可以工作了),所以它似乎仍然从我以前的代码中获取信息。
我的 GAC 文件夹中只有一个版本的 dll。
我已确保我的 dll 文件夹中的版本是新版本(基于文件的日期)。
为了 100% 确定,我还将新的 dll 文件放在项目的 BIN 文件夹中。
使用 JetBrains 的 dotPeek 反编译 dll 文件时,我看到它包含我的更正。
我尝试从 IIS 重新启动我的 Web 应用程序
它在我的开发环境中工作。
所以不知何故,旧的 dll 文件似乎在我的 GAC 中仍然处于活动状态。我如何确保调用新的?最好不要重新启动生产服务器。
服务器:MS Windows 2008 R2 64-bit
开发:Windows 7 32-bit