Должен ли .NET неявно связывать зависимость от определенной версии сборки с более новой версией? - PullRequest
1 голос
/ 13 декабря 2011

Меня интересует определенное поведение .NET в отношении разрешения зависимостей от конкретных версий сборок. Например, у меня есть зависимость от DataAccess.SQLite, которая зависит от System.Data.SQLite 1.0.66.0. Моя установленная версия System.Data.SQLite, однако, 1.0.77.0. Я обнаружил, что Visual Studio 2010 автоматически внедрит директиву app.config для привязки зависимости System.Data.SQLite к 1.0.77.0:

.
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-1.0.77.0" newVersion="1.0.77.0"/>
  </dependentAssembly>
</assemblyBinding>

Но, даже если я удалю эту директиву, зависимость от System.Data.SQLite 1.0.66.0, по-видимому, разрешится до 1.0.77.0. Это определенное поведение для разрешения зависимостей .NET?

В проекте ASP.NET MVC 3 случалось так, что .NET не удалось разрешить зависимость, так как версия 1.0.66.0 не была найдена, поэтому я в основном и спрашиваю.

...