gpt4 book ai didi

c# - 如何跨项目和客户端自定义类库配置设置

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:30 29 4
gpt4 key购买 nike

如果之前有人问过这个问题,我深表歉意;经过两天的搜索,我只能找到与我的情况不完全相关的部分答案,并且由于我缺乏经验而难以理解。

我有一个包含四个项目的解决方案:

  1. 类库(包含数据库连接字符串、电子邮件服务器设置以及许多其他设置)
  2. Web 应用程序(Web 表单)
  3. 网络应用程序(MVC)
  4. 网络应用程序接口(interface)

项目2、3、4均引用类库,并使用数据库连接字符串等功能。这些项目还在 web.config 中包含自己的附加设置,专为该项目定制。

到目前为止一切都很好......但是,我现在需要发布我的解决方案的特定于客户端的版本,例如ClientABC 的解决方案需要为每个项目设置与 ClientXYZ 不同的设置。所有其他方面都保持不变,只是需要更改四个项目的配置设置。

根据我的研究,我偶然发现了一个叫做 SlowCheetah 的东西它根据发布配置文件转换配置文件。这听起来很有希望,但后来我得到了 this problem ,其中类库设置不会被推送到其他项目中。我可以在 this question 中看到一些有用的信息,但没有将其应用于我的问题的经验。如果可能的话,我不想将设置复制到相应项目的配置文件中,因为那样感觉很乱。

任何人都可以就这里最好的东西向我提供一些帮助吗?我什至不知道我是否采取了正确的方法,但我很确定我不会是第一个问这个问题的人?

最佳答案

but then I get this problem, where the class library settings aren't pushed into the other projects

您必须记住,配置文件是由您的客户端 SturtUp 应用程序读取的。类库不能直接运行,而是在 WebApp 或 WinApp 或 ConsoleApp 中运行

因此,您放入 ClassLibrary 配置文件中的任何设置必须复制到您的 WebApp 的配置文件中。

通常,我会从 app.config 复制一些设置到 web.config,但是,如果您在互联网上搜索,您可以找到一种自动执行此操作的方法。

I now need to publish client-specific versions of my solution

您可以创建多个配置文件并使用 web.config 转换:

  1. 从工具栏或构建菜单中,选择 Configurazion Manager...

Configurazion Manager...

  1. 为客户端创建您需要的所有配置 ClientABC

  2. 现在您可以看到不同的 web.configuration 文件

enter image description here

  1. 现在您可以为您的 ClientABC、ClientXYZ 指定不同的配置转换并使用特定配置发布它们

编辑:因此,您也可以为您的类库或外部配置文件采用此解决方案,并在您的 web.config 中包含外部文件:External Config

关于c# - 如何跨项目和客户端自定义类库配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016306/

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