2013-04-19 2 views
1

У меня есть проект ASP.NET, работающий на IIS7. Я просто добавляю Microsoft.Practices.EnterpriseLibrary.Common.dll, Microsoft.Practices.EnterpriseLibrary.Data.dll, & Microsoft.Practices.EnterpriseLibrary.ObjectBuilder2.dll.ASP.NET - сборка не найдена

Я получаю эту ошибку:

Error 2 Could not load file or assembly 'Microsoft_Practices_EnterpriseLibrary_Common' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)  

Я исследовал этот вопрос и нашел, что это означает, что длл не в нужном месте, но он находится в моей папке projectdirectory/бен. Поэтому я не понимаю, куда еще нужно ссылаться. Он не упоминается в моем Web.config, но тег assemblylies не был сгенерирован в шаблоне проекта.

Нужно ли ссылаться на эти сборки? Если да, где я могу найти необходимые атрибуты, то есть PublicToken и т. Д.?

+0

Если вы пытаетесь добавить dll в проект, щелкните правой кнопкой мыши solution-> add reference. Если вы развертываете свой сайт, скопируйте dll в папку ./bin. –

+0

Возможный дубликат http://stackoverflow.com/questions/1110843/installing-microsoft-enterprise-libraries-and-databasefactory –

ответ

0

Иногда эта проблема возникает и с другими инструментами/каркасами. Не вытаскивая волосы, просто добавьте ссылку на отсутствующую сборку и не забудьте установить эти ссылки на «Копировать локальную» = true. Я замечаю, что API-интерфейсы framework, которые размещены в GAC, имеют такую ​​проблему.

0

Если это проект «веб-сайта», вы можете просто выбросить dll в папку bin. Однако, если это проект «веб-приложения», вам нужно добавить ссылку и установить copy local = true.

0

Я исправил проблему. Я не уверен, почему, но мне пришлось создать новую папку в моем проекте и переместить DLL там, и я смог построить решение. Это проект веб-сайта.

Смежные вопросы