代码之家  ›  专栏  ›  技术社区  ›  stijn

应用程序中是否需要bindingRedirect.config文件或所有程序集?[副本]

  •  3
  • stijn  · 技术社区  · 11 年前

    使用NuGet为具有多个dll和仅一个exe(使用所有其他dll)的解决方案安装Microsoft.Bcl.Async包,NuGet会自动为添加Bcl包的每个项目创建一个.config文件(或添加到现有文件)。

    在实践中,我最终得到>20个配置文件都包含相同的重定向。我理解重定向 is needed ,但如果所有程序集都由一个应用程序加载(如果重要的话,其中一些程序集由Prism加载),那么这些程序集实际上都需要这样做吗?我从输出目录中删除了所有.config文件,只留下app.config,应用程序似乎工作正常。我的假设是正确的,即一旦bindingRedirect在启动应用程序时生效,加载到该域的所有其他程序集也会自动使用该重定向?或者有什么警告吗?我问的主要原因是,在重新分发应用程序时,是否应该包含所有这些配置文件。

    1 回复  |  直到 7 年前
        1
  •  9
  •   Community CDub    7 年前

    你可以参考这个问题:

    Why NuGet adds app.config with assemblyBinding to LIBRARY projects during a NuGet package update?

    我认为上述问题的答案充分回答了你的疑问。

    尽管如此,如果你想要总结,你实际上是对的。在一个应用程序中只需要一个.config文件。当您仅使用/引用相应的程序集时,在测试中使用每个程序集的.config文件。因此,如果要部署应用程序,则不需要每个程序集的.config文件。应用程序范围的.config文件就足够了。