System.Data.SQLite и Fluent NHibernate - не удалось найти IDBCommand - PullRequest
3 голосов
/ 10 августа 2011

Я пробую Fluent NHibernate 2.12 с System.Data.SQLite (версия 1.0.74.0 с .NET4 x64).
При попытке создать фабрику сеансов я получаю следующую ошибку (самое внутреннее исключение):

Реализация IDbCommand и IDbConnection в сборке System.Data.SQLite не может быть найден. Убедитесь, что сборка System.Data.SQLite находится в каталоге приложения или в Глобальный кеш сборок. Если сборка находится в GAC, используйте элемент в файле конфигурации приложения для укажите полное название сборки.

Пробовал то, что уже предлагалось мой app.config выглядит так:

<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <runtime>    
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" >
      <probing privatePath="Lib\NHibernate;Lib\Castle;Lib\SQLite"></probing>
      <qualifyAssembly
        partialName="System.Data.SQLite"
        fullName="System.Data.SQLite, Version=1.0.74.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </assemblyBinding>
  </runtime>
</configuration>

и Мой личный путь поиска содержит правильные файлы (это уже проверено)
У кого-нибудь есть подсказка?

1 Ответ

0 голосов
/ 03 февраля 2012

Я только недавно настроил беглый nhibernate с SQLite для модульных тестов, так что вот несколько советов, которые я могу вам дать.Если вы отлаживаете с помощью Visual Studio 2010, вам, к сожалению, нужно использовать 32-разрядную версию SQLite.Существует известная ошибка, которая должна быть включена в следующую версию Visual Studio, когда вы пытаетесь включить 64-битные сборки.Кроме этого, я могу предложить вам убедиться, что вы включили следующие записи в вашу веб-конфигурацию:

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>
</configuration>

PS нашел ссылку на ошибку http://connect.microsoft.com/VisualStudio/feedback/details/556670/could-not-load-file-or-assembly-error-when-referencing-a-64-bit-assembly

...