Enterprise Library 5.0 не отображает пространство имен Microsoft.Practices.EnterpriseLibrary.Data

Я использовал Visual Studio 2008 с Enterprise Library 4.0. Он работает нормально и показывает пространство имен Microsoft.Practices.EnterpriseLibrary.Data. Теперь я установил VS 2010 и Enterprise Library 5.0. (Потому что 4.0 не поддерживает по сравнению с 2010).

Но проблема в том, что Enterprise Library 5.0 не отображает Microsoft.Practices.EnterpriseLibrary.Data. Есть ли еще одно пространство имен в 5.0, через которое я могу получить доступ к классу базы данных, который входит в пространство имен Microsoft.Practices.EnterpriseLibrary.Data?

пожалуйста, дайте мне знать.


person Gaurav    schedule 24.06.2013    source источник


Ответы (2)


Вы, вероятно, ориентируетесь на клиентский профиль .NET Framework. Блок доступа к данным зависит от System.Data.Oracle и требует полной .NET Framework.

person Randy supports Monica    schedule 30.06.2013

Для всех, кто сталкивается с этой проблемой при переносе своего приложения на основе DAAB на .NET4, entlib5 поставляется с исходным кодом, который можно установить, например, через C:\Program Files (x86)\Microsoft Enterprise Library 5.0\src\Enterprise Library 5.0 - Source Code.msi

Запуск этого msi и принятие значений по умолчанию создает папку EntLib50Src в области документов. Если вы войдете в EntLib50Src\Blocks\Data и откроете Data.2010.sln, вы можете изменить целевую структуру на .NET Framework 4 Client Profile.

Это создаст кучу ошибок, связанных с зависимостью System.Data.Oracle. Удалите ссылку на него, а затем исключите Oracle части проекта и закомментируйте любые Oracle ссылки в общем коде.

Если вы затем перекомпилируете со строгой подписью имени, вы можете использовать выходные сборки (Microsoft.Practices.EnterpriseLibrary.Common.dll и Microsoft.Practices.EnterpriseLibrary.Data.dll) с .NET Framework 4 Client Profile. Вы должны распространять Microsoft.Practices.Unity.dll из, например, C:\Program Files (x86)\Microsoft Enterprise Library 5.0\Bin, но она совместима с профилем клиента.

Обратите внимание, что приведенное выше работает, если вам не нужна поддержка Oracle в вашем приложении. У меня нет, только SQL Server и VistaDB. Вышеупомянутое должно работать с любой базой данных, отличной от Oracle, совместимой с ADO.NET.

person user326608    schedule 10.11.2013