Вопрос по .net, c# – привязки сборки игнорируются для PublicKeyToken = null?

16

У меня есть следующее в моемapp.config.

<code><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>
</code>

Регистрация в Fusion говорит мне, что она не ищетbin2 для моей сборки.

LOG: Initial PrivatePath = NULL (и он никогда не ищет вbin/Debug/bin2/Foo)

Это проблема с отсутствиемpublicKeyToken?

Ваш Ответ

1   ответ
14

они игнорируются для сборок, которые не имеют строгих имен (имеют publicKeyToken), поскольку CLR игнорирует номера версий для этих сборок.

Увидетьэта страница MSDN для дополнительной информации.

@JJS: для .NET 4.5 эта заметка не существует. Не ясно, однако, изменилось ли поведение.
В конкретной заметке на странице сказано: «Вы не можете перенаправить версии для сборок со строгим именем. Общеязыковая среда выполнения игнорирует версию для сборок со строгим именем. & Quot; JJS

Похожие вопросы