gpt4 book ai didi

.net - 添加对 GAC 的 DLL 的 Web 引用

转载 作者:行者123 更新时间:2023-12-01 04:22:54 25 4
gpt4 key购买 nike

我在 SharePoint 中编写事件处理程序时遇到了这个问题。我的事件处理程序有一个网络引用。当我创建此 Web 引用时,Web 服务的 URL 将添加到程序集的 .config 文件中。如果我必须更改网络引用 URL,我只需要更改配置文件中的链接。

当我尝试 GAC dll 时出现问题。当我对 DLL 进行 GAC 时,配置文件不能与 dll 一起进行 GAC,因此,我无法更新 Web 引用。

我发现的一种解决方法是修改构造函数方法 Reference.cs 类,该类在我添加引用时由 Visual Studio 自动生成,以便构造函数从其他位置读取 Web 服务 url,例如注册表或某些中的 XML 文件预定位置。但这有时会带来问题,因为当我使用 Visual Studio 更新网络引用时,此 Reference.cs 文件会重新生成,并且我的所有修改都会丢失。

有没有更好的方法来解决这个问题?

最佳答案

SharePoint 托管的任何应用程序都使用位于 IIS 中 SharePoint 网站根目录的 web.config。您需要做的是将 Web/Service Reference 向导生成的配置添加到您的 web.config。

它的工作原理大致如下:

  • SharePoint 应用程序池加载您的 DLL
  • 您的 DLL 在当前应用程序配置文件中查找服务信息
  • 您的 DLL 找到 web.config 并在那里查找配置信息

  • 基本上,不会使用在您的 DLL 中生成的 app.config。由于本例中的应用程序是托管 SharePoint 应用程序的应用程序池 (w3wp.exe)。对于 SharePoint,app.config 实际上被命名为 web.config 并且存在于 SharePoint 网站的根目录中。

    关于.net - 添加对 GAC 的 DLL 的 Web 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/125369/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com