C# 调用包含web服务的程序集

C# 调用包含web服务的程序集,c#,web-services,C#,Web Services,我有一个包含web引用的DLL,它设置为动态。该DLL由另一个程序调用,其思想是从通向web服务的DLL调用方法。我使用Assembly.LoadFrom方法,但当调用Assembly时,它从不从位于DLL中的App.Config读取url。动态调用DLL时,如何从App.Config读取地址?在添加DLL的位置添加App.Config,并将App.Config属性copy设置为output directory=copy always。您的问题是无法从App.Config读取值。这可能有两个原因

我有一个包含web引用的DLL,它设置为动态。该DLL由另一个程序调用,其思想是从通向web服务的DLL调用方法。我使用Assembly.LoadFrom方法,但当调用Assembly时,它从不从位于DLL中的App.Config读取url。动态调用DLL时,如何从App.Config读取地址?

在添加DLL的位置添加App.Config,并将App.Config属性copy设置为output directory=copy always。

您的问题是无法从App.Config读取值。这可能有两个原因:

  • 这样的配置文件不存在或超出范围
  • 配置文件实际上已读取,但您搜索的特定值不存在
  • 我会检查两件事。是否存在app.config文件?如果存在app.config文件,它是否包含实际值(url)? 您还应该检查引用dll的项目是否有自己的配置文件。如果是,则这是从dll获取相应值所使用的配置文件

    我建议seing post更好地了解如何在.NET中使用配置文件


    希望我能帮忙

    如果您可以访问DLL的源代码,我建议您使用错误处理

    在这些情况下,这将对您有很大帮助。在方法实际运行之前,让DLL方法检查app.config文件

    public object MyWebServiceDLLMethod()
    {
      if(!File.Exists(MyPathToAppConfig))
      {
        throw new Exception("File not found.");
         return null;
      }
      //"real" code for the method goes here. 
    
    }
    

    我很乐意建议你改变你的头衔。这与你的问题完全无关。您的问题是无法从app.config读取值…谢谢,但我认为主题描述了确切的问题。我根本不想从App.Config读取数据。我正在尝试使用Web服务。只是需要正确的方法来完成它。虽然这可以从理论上回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。构建项目生成配置文件。问题是它没有被读取。