【问题标题】:Reference an assembly with multiple configuration versions引用具有多个配置版本的程序集
【发布时间】:2013-10-26 18:21:32
【问题描述】:

我有一个程序集,例如“DoCommonStuffAssembly”,带有自己的 app.config。

这个程序集被两个不同的程序集引用,例如“BusinessLogic01”和“BusinessLogic02”,具有各自版本的 DoCommonStuffAssembly 配置部分。

现在我需要在同一个 ASP.NET 应用程序中同时引用 BusinessLogic01 和 BusinessLogic02,但两者都应该具有不同版本的 DoCommonStuffAssembly 配置部分(如日志文件夹或类似的东西)。

我该怎么做?我必须在哪里进行更改才能使 DoCommonStuffAssembly 在这样的环境中有用?

【问题讨论】:

    标签: c# asp.net .net configuration app-config


    【解决方案1】:

    除非在不同的虚拟路径中引用了两个 BusinessLogic 程序集,否则您无法处理这种情况。您可以在每个路径中有一个 web.config。如果这两个 BusinessLogic 程序集仅在不同的路径中被引用,那么您可以为每组设置使用一个 web.config。

    至少,我认为这是可行的。

    【讨论】:

    • 感谢您的快速回答,如果我明白您所说的,我必须在 \bin 内创建两个文件夹,如 \bin\BusinessLogic01 和 \bin\BusinessLogic02,将 Dll 移动到各自的文件夹,包括 DoCommonStuffAssembly在两者中创建一个 web.config,并在它们每个内部使用自己的 DoCommonStuffAssembly 配置键版本。那是对的吗? ASP.Net 中的主 web.config 是否会同时加载这些文件夹中的 web.config?
    • 不,我的意思是如果您的网站位于 http://host/site,然后创建 http://host/site/bus1http://host/site/bus2 并在每个中放置不同的 web.config。
    • 好的,但是,如何从 host/site 创建 Businnes01 和 Businnes02 程序集类的实例?
    • 你不会的。您可以将所有使用 Business01 的代码放在 hosts/site/business01 下。
    • 但是我需要从主 ASP.Net 应用程序中使用自己的配置密钥集创建 Business01 和 Business02 的实例,我做不到
    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2018-09-08
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多