从.net中的类库项目引用设置的最佳实践

从.net中的类库项目引用设置的最佳实践,.net,reference,app-config,.net,Reference,App Config,我的解决方案中有多个项目。我有一个项目专门用于保存大量WCF服务引用(它保存对WCF服务的引用,而不是WCF服务的实现),让我们称这个项目为“GlobalWebServices”。然后我有许多引用这个GlobalWebServices项目的可执行应用程序。当我执行这些应用程序并尝试调用引用web服务时,它们自然会丢失我想要调用的ServiceReferences的配置详细信息。配置设置属于类库项目“GlobalWebServices” 存储这些ServiceReference绑定详细信息的最佳方

我的解决方案中有多个项目。我有一个项目专门用于保存大量WCF服务引用(它保存对WCF服务的引用,而不是WCF服务的实现),让我们称这个项目为“GlobalWebServices”。然后我有许多引用这个GlobalWebServices项目的可执行应用程序。当我执行这些应用程序并尝试调用引用web服务时,它们自然会丢失我想要调用的ServiceReferences的配置详细信息。配置设置属于类库项目“GlobalWebServices”

存储这些ServiceReference绑定详细信息的最佳方式是什么?我不想将每个文件都复制到正在执行的应用程序的.config文件中,因为它感觉不整洁,而且我正在复制信息。我不想在“GlobalWebServices”应用程序中硬编码ServiceReference绑定,因为我已经为每个服务生成了绑定连接信息(好吧……visual studio已经帮我完成了,但仍然如此)。理想情况下:我希望GlobalWebServices库在构建类库时自动将绑定信息(当前存储在它的app.config中)包含到类库中


最佳实践解决方案是什么?

您可以使用将web.config的不同部分分开

也许有更好的答案,但我的第一个想法是将配置文件放在类库项目中。将配置文件的属性设置为“Content”和“Copy if Newer”。这将允许您将其放在一个位置进行源代码管理。不过,此选项的缺点是,一旦部署,它将位于多个不同的位置,但如果使用配置文件的每个应用程序的配置都需要不同,那么这也很好

我知道可以通过编程方式配置服务,然后将配置写入文件。我认为这意味着您可以换一种方式,使用一个单独的XML文件,并从那里加载绑定等,而不是app.config本身