添加服务引用时 app.config 的位置

location of app.config while adding service reference

我刚开始使用 WCF,我对 App.config 文件的位置有疑问。

我知道必须始终在最终客户端位置添加 App.config/web.config 文件。我有以下设计架构:

WCF> DAL(我向该项目添加了服务引用)> DALUnitTest

现在,当我使用 VS 添加对 DAl 项目的服务引用时,它会自动将服务引用和相关 XML 配置(如 endPoint 和所有内容)添加到 App.Config 文件中 这是为 DAL 项目生成的。

现在,我正在编写针对 DAL 项目的单元测试,它抛出以下错误:

Could not find default endpoint element that references contract 'HREmployeeWebService.IHREmployeeWebService' This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.

直到我复制为 DAL 项目生成的 XML 并将其添加到 Unitest 项目中,错误才消失。

我的问题是:

VS 将在您创建服务引用的程序集中创建 app.config 文件。它将在更新参考时使用。该配置文件与您的应用程序创建和访问服务配置的方式完全分开。如果您在任何应用程序域(如单元测试或 Web 应用程序)中使用服务引用,您将需要提供配置。