我在 SharePoint 中编写事件处理程序时遇到了这个问题。我的事件处理程序有一个网络参考。当我创建此 Web 引用时,Web 服务的 URL 将添加到程序集的 .config 文件中。如果我必须更改网络参考 URL,我只需更改配置文件中的链接。
当我尝试对 dll 进行 GAC 时,问题就来了。当我对 DLL 进行 GAC 时,配置文件无法与 dll 一起被 GAC,因此,我无法更新 Web 参考。
我发现的一种解决方法是修改构造函数方法 Reference.cs 类,该类在我添加引用时由 Visual Studio 自动生成,以便构造函数从其他位置读取 Web 服务 url,例如注册表或某些 XML 文件预定位置。但这有时会带来问题,因为当我使用 Visual Studio 更新 Web 参考时,此 Reference.cs 文件会重新生成,并且我的所有修改都会丢失。
有没有更好的方法来解决这个问题?