为多个可执行文件配置一次assemblyBinding

时间:2010-12-08 10:24:57

标签: .net clr assembly-resolution fusion assemblybinding

我有一个包含多个可执行文件的文件夹。目前,在每个executable.exe.config文件中配置了程序集绑定重定向。有没有办法只配置一次,该文件夹中的所有可执行文件自动选择它?我想避免使用machine.config,因为这会将它应用于整个计算机。

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <publisherPolicy apply="yes" />
  <dependentAssembly>
    <assemblyIdentity name="SomeAssembly" publicKeyToken="10addddbec4aebba" />
    <publisherPolicy apply="yes" />
      <bindingRedirect oldVersion="0.0.0.0-7.9.999.0" newVersion="5.8.11.5" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="SomeOtherAssembly" publicKeyToken="23adeddbac4ae12a" />
    <publisherPolicy apply="yes" />
      <bindingRedirect oldVersion="0.0.0.0-7.9.999.0" newVersion="5.8.11.5" />
  </dependentAssembly>
</assemblyBinding>

2 个答案:

答案 0 :(得分:1)

可以在不同的部分“拆分”您的配置,并将这些部分放在外部文件中。你会为每个exe提供一个almoust空配置,并添加这样一个部分。但是Enterprise Lib为此提供了一个应用程序块 另一个解决方案是使用符号文件链接 - 又名junction - 将每个配置重定向到全局配置(但我不建议这样做)。

答案 1 :(得分:0)

我相信没有办法为多个可执行文件配置一个配置文件。 MSDN仅提到两个选项 - executable.exe.config和全球machine.config

我想到的唯一解决方案是创建一个具有所有当前可执行文件功能的大型可执行文件(以及一个通用配置),然后使用某种交换机等使您当前的可执行文件运行大的可执行文件。