Проблема при попытке настроить корпоративную библиотеку 5.0 (Application Application Block)

У меня возникают проблемы при попытке получить DAAB из Enterprise 5.0. Я выполнил шаги в соответствии с инструкцией, но получаю ошибки...

1) Загрузите/установите корпоративную библиотеку

2) Добавьте ссылки на нужные мне блоки (общие/данные)

3) Импорт

Imports Microsoft.Practices.EnterpriseLibrary.Common
Imports Microsoft.Practices.EnterpriseLibrary.Data

4) Через программное обеспечение для конфигурации корпоративной библиотеки. Я открываю web.config с моего сайта. Затем я нажимаю "Блоки", затем "Добавить параметры данных"... заполните мои данные и сохраните/закройте

5) Затем я (установка мышления завершена) пытаюсь получить экземпляр базы данных через

 Dim db As Database = DatabaseFactory.CreateDatabase() 

6) Я компилирую и получаю следующую ошибку:

Не удалось загрузить файл или сборку "Microsoft.Practices.EnterpriseLibrary.Data, Version = 5.0.414.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35" или одна из его зависимостей. Расположенное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) (C:\site\web.config строка 4)

Строка 4 с моего web.config была сгенерирована с помощью инструмента конфигурации и:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />

Мне не хватает необходимого шага? Я сделал шаги в неправильном порядке? Я допустил ошибку?

Большое спасибо за помощь.

Ответы

Ответ 1

Ответ:

Я случайно ссылался на сборки из папки кода src. Это означает, что публичные токены будут иметь value = null. Я повторно ссылался на сборки в C:\Program Files\Microsoft Enterprise Library 5.0\Bin, и проблема теперь решена.

Ответ 2

Я уже видел, что вы получили ответ; однако я хотел бы указать, что когда вы открываете инструмент Config из VS, у вас есть возможность сообщить инструменту конфигурации, какие сборки вы хотите называть:

  • В VS2010: откройте окно редактора свойств и выберите из файла решения файл решения.
  • Вы увидите вариант "Набор сборки Enterprise Library 5" с параметрами использования подписанных версий (Microsoft Signed) или без знака (EntLibV5Src)

Когда вы запускаете инструмент конфигурации; он будет ссылаться на сборки в файле конфигурации в соответствии с вашим выбором.

Ответ 3

В дополнение к тому, что @Nicolas ответил, вы можете решить эту проблему, удалив общедоступный токен в app.config, где когда-либо он используется с dll Enterprise Library 5.0 dll

Ответ 4

Корпоративная библиотека имеет 2 загрузки...

  • Корпоративная библиотека 5.0 - Исходный код .msi
  • Корпоративная библиотека 5.0.msi

Только второй имеет подписанные двоичные файлы... что является необходимым для устранения ошибки "определение манифеста не соответствует ошибке сборки"

(и FYI, второй также включает исходный код, если вы решили его установить)

Ответ 5

Что вам, вероятно, нужно сделать, это изменить целевую структуру в свойстве вашего проекта с ".NET Client 4 Client Profile" на ".NET Framework 4".

Когда вы сначала создаете проект консоли, VS 2010 по умолчанию создает. "Профиль клиента NET Framework 4". EL 5, скомпилированный с ".NET Framework 4", и вашему проекту нелегко разрешить EL файлы.

Ответ 6

порождают

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />                      
        <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />   
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />