.net: Когда я обновляю версию сборки, он сказал: Не удалось загрузить файл или сборку. Требуется сборка со строгим именем

Имею сборку с кодом C #. И версия этой сборки 1.0.0.0. Информация этой сборки сериализуется, когда я сериализую данные этой сборки в двоичный файл. А затем я обновляю эту версию сборки до 4.0.0.0, **

и я снимаю подпись

**. Когда я де-сериализую данные сборки, возникает исключение: «Не удалось загрузить файл или сборку» [AssemblyName], Версия = 1.0.0.0, Культура = нейтральный, PublicKeyToken = [TokenKey] »или одна из его зависимостей. Требуется сборка со строгим именем. (Исключение из HRESULT: 0x80131044) ".

Как я могу перенаправить мою сборку старой версии на сборку новой версии? Работает ли привязка сборки конфигурации?


person yafeya    schedule 22.02.2011    source источник


Ответы (1)


В свою конфигурацию добавьте следующий блок,

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="yourAssembly" publicKeyToken="PKTokenOfYourAssembly"/>
    <bindingRedirect oldVersion="1.0.0.0" newVersion="4.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>

person Furqan Hameedi    schedule 23.02.2011
comment
привет, Furqan, я попробовал ваше предложение, и когда я запустил свое приложение, я заметил, что я удалил подпись сборки, и в сообщении msdn говорится, что этот элемент бесполезен для сборки без строгого имени. Но у меня есть новая идея, и завтра я попробую, добавлю свой метод в этот вопрос. большое спасибо. - person yafeya; 23.02.2011