Меня интересует определенное поведение .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 не была найдена, поэтому я в основном и спрашиваю.