是否为PublicKeyToken = null忽略了程序集绑定?

时间:2012-04-25 22:57:24

标签: c# .net

我的app.config中有以下内容。

<configuration>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath="bin2" />
    <dependentAssembly>
      <assemblyIdentity name="Foo" culture="neutral" publicKeyToken="null">
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.4497.27619" />
      </assemblyIdentity>
    </dependentAssembly>
  </assemblyBinding>
  ...
<configuration>

Fusion日志记录告诉我它没有在bin2中查找我的程序集。

日志:初始PrivatePath = NULL (它永远不会在bin/Debug/bin2/Foo中搜索)

这是一个没有publicKeyToken的问题吗?

1 个答案:

答案 0 :(得分:15)

是的,对于非强名称的程序集(具有publicKeyToken),它们会被忽略,因为CLR会忽略这些程序集的版本号。

有关详细信息,请参阅this MSDN page