При запуске проекта NServiceBus Host выдается ошибка при попытке настроить базу данных SQLite для sagas - PullRequest
1 голос
/ 01 сентября 2011

Для моего IWantCustomInitialization метода Init() используется

public void Init()
{
    NServiceBus.Configure.With()
        .Log4Net()
        .DefaultBuilder()
        .MsmqTransport()
        .IsTransactional(false)
        .Sagas()
        .NHibernateSagaPersisterWithSQLiteAndAutomaticSchemaGeneration()
        .XmlSerializer(); 

}

Ошибка:

База данных не настроена с помощью метода База данных.---> System.Resources.MissingManifestResourceException: Не удалось найти ресурсы, подходящие для указанной культуры или нейтральной культуры.Убедитесь, что «System.Data.SQLite.SR.resources» был правильно встроен или связан со сборкой «System.Data.SQLite» во время компиляции, или что все необходимые спутниковые сборки загружаемы и полностью подписаны.
в System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing (String fileName)
в System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet (культура Cultur eInfo, словарь `2 localResourceSetsMesRest искателя ресурсов).InternalGetResourceSet (CultureInfo запрашивает tedCulture, логические createIfNotExists, логические tryParents, StackCrawlMark & ​​стека Mark) в System.Resources.ResourceManager.InternalGetResourceSet (Культура CultureInfo e, логический createIfNotExists, возвращающий класс-объект-источник.e) в System.Data.SQLite.SR.get_Keywords () в c: \ dev \ sqlite \ dotnet \ System.Data.S QLite \ SR.Designer.cs: line87 в System.Data.SQLite.SQLiteConnection.Schema_ReservedWords () в c: \ dev \ sqlit e \ dotnet \ System.Data.SQLite \ SQLiteConnection.cs: строка 1239 в System.Data.SQLite.SQLiteConnection.GetSchema (String collectionName,Строка g [] RestrictValues) в c: \ dev \ sqlite \ dotnet \ System.Data.SQLite \ SQLiteConnecti on.cs: строка 1223 в System.Data.SQLite.SQLiteConnection.GetSchema (String collectionName) в c: \ dev \ sqlite\ dotnet \ System.Data.SQLite \ SQLiteConnection.cs: строка 1176
в NHibernate.Dialect.Schema.AbstractDataBaseSchema.GetReservedWords () в NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords, специалист по связям с общественностью, специалист по связям с общественностью.Tool.hbm2ddl.SchemaMetadataUpdater.Update (ISessFactory sessi onFactory) в NHibernate.Impl.SessionFactoryImpl..ctor (Конфигурация cfg, IMapping mappi ng, параметры настройки, прослушиватели EventListeners) в NHibernate.Cfg..FluentConfiguration.BuildSessionFactory ()

Версии:

  • NServiceBus 2.5.0.1496
  • System.Data.Sqlite 1.0.74.0

1 Ответ

1 голос
/ 02 сентября 2011

Эта версия SQLite для .NET распространяется в виде двух библиотек:

  • System.Data.SQLite.dll
  • SQLite.Interop.dll

Обе библиотеки должны присутствовать в той же папке, что и ваш EXE.Interop dll зависит от платформы, поэтому вам нужно вручную (или после сборки) скопировать версию x86 или x64 .

Следует также помнить, что SQLite.Interop.dll его зависит от MSVCR100.DLL (часть распространяемого пакета Visual C ++ 2010 SP1).Вы можете получить его здесь:

Обратите внимание наSQLite для .NET 3.5 требует среды выполнения Visual C ++ 2008 SP1.Вы можете подтвердить, что сборка Interop имеет все необходимые зависимости, используя Dependency Walker .

Обходной путь для этой проблемы можно найти здесь .Но было бы неплохо решить проблему без применения обходного пути.

...