Есть ли способ, чтобы AssemblyBinding-> bindingRedirect допускал несколько целевых версий? - PullRequest
0 голосов
/ 08 марта 2011

Я в подписанном аде сборки .NET.

У меня есть приложение, скомпилированное для подписанной сборки A, версия 1.1 ( SA 1.1.1 ).В некоторых системах у меня уже есть SA 1.1.2

Можно ли выразить это в перенаправлении?

SA 1.1.1 binds to SA 1.1.1 OR SA 1.1.2

Просто чтобы напомнить вам, как выглядит такая вещь:

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="myAssembly"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <bindingRedirect oldVersion="1.0.0.0"
                             newVersion="2.0.0.0"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

1 Ответ

1 голос
/ 08 марта 2011

Используйте

oldVersion="1.0.0.0-2.0.0.0"

Обратите внимание на черту, обозначающую диапазон .

Извините, думал, что вы идете наоборот.

Я не думаю, что это возможно.

Есть пара вещей, которые вы можете сделать, хотя. Если у вас есть обе версии в GAC, вы можете просто привязать к нужной версии в приложении. То есть приложения, которые должны быть привязаны к 1.1.1, могут указывать эту версию. Приложения, которым требуется 1.1.2, могут указывать эту привязку. В противном случае, я думаю, что самое безопасное - это скомпилировать 1.1.1 или 1.1.2 для всех ваших приложений.

Или, что не менее важно, отмените их подпись и скомпилируйте против неподписанной версии, которая затем захватит любую сборку с указанным вами «дружественным» именем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...