Я пытался найти версию Sharp Architecture, которая работает с Visual Studio 2008 и использует NHibernate 3, но безуспешно.Я хочу использовать API QueryOver из NHibernate версии 3. Последняя доступная сборка, которую я могу найти, - sharp-architecture-1.6.0.0-templify-package.zip, совместимая с Visual Studio 2008, MVC 2 и NHibernate 2. Всеболее новая версия Sharp Architecture совместима только с Visual Studio 2010. Я попытался создать пользовательскую сборку Sharp Architecture:
Я изменил ссылки в проекте «SharpArchitecture 1.6 Full Source» ...:
- NHibernate.Validator до версии 1.3.0.4000
- NHibernate до версии 3.1.0.4000
- NHibernate.ByteCode.Castle до версии 3.1.0.4000
- FluentNHibernate дляВерсия 1.2.0.694
- Castle.Core to Version = 2.5.2.0
... путем замены старых dll новыми в каталоге bin проектов.Затем я запустил ClickToBuild.bat (расположенный в загруженном базовом каталоге zip-файлов Sharp Architecture), чтобы построить решение.Сборка прошла успешно и все тесты пройдены.Затем я заменил все библиотеки в моем собственном проекте новыми Sharp Architecture, которые я только что построил.Мой проект компилируется, но когда я запускаю его, SharpArch.Data \ NHibernate \ NHibernateSession.cs выдает следующее исключение:
Не удалось загрузить файл или сборку 'Castle.Core, Version = 2.5.1.0, Culture = нейтральный, PublicKeyToken = 407dd0808d44fbdc 'или одна из его зависимостей.Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.(Исключение из HRESULT: 0x80131040)
Я попытался использовать bindingRedirect для Castle.Core в моем web.config:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
<bindingRedirect oldVersion="2.5.1.0" newVersion="2.5.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
, но это все равно не сработало.
Я на правильном пути?Что еще я могу сделать, чтобы заставить его работать?