C# ссылка на проект настройки SpecificVersion = False кажется не работает

У меня есть следующий сценарий:

  • A.dll версия 1.0.0.1
  • B.dll версии 1.0.0.1 зависит от A.dll. Ссылка устанавливается с помощью SpecificVersion = False

    <Reference Include="A">
        <HintPath>A.dll</HintPath>
        <SpecificVersion>False</SpecificVersion>
    </Reference>
    
  • C.exe загружается с помощью Assembly.LoadFrom("B.dll") B.dll

Если я изменяю версию A.dll на 1.0.0.2, я получаю FileNotFoundException на Assembly.LoadFrom("B.dll") говоря, что он не может найти A.dll 1.0.0.1 (на данный момент существует только A.dll 1.0.02, но это не должно иметь значения, поскольку SpecificVersion имеет значение false)

1 ответ

Вы можете использовать перенаправление привязки сборки, как предложил Ганс в своем комментарии:

<dependentAssembly>
    <assemblyIdentity name="someAssembly"
      publicKeyToken="32ab4ba45e0a69a1"
      culture="en-us" />

    <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" />
  </dependentAssembly>

Пожалуйста, обратитесь к этой ссылке для получения дополнительной информации http://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx

Другие вопросы по тегам