2013-04-23 4 views
2

Я использую MEF для добавления некоторых частей в мое веб-приложение ASP.net. Я сделал проект PoC, и все работает как шарм. Но когда я пытаюсь добавить его в существующий веб-приложение, я получаю следующее сообщение об ошибке:Не удалось загрузить файл или сборку antlr.runtime

Could not load file or assembly 'antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=1790ba318ebc5d56' or one of its dependencies. The system cannot find the file specified.

Мой проект не имеет каких-либо ссылок на antlr.runtime, и если я удалить MEF код работает отлично.

var catalog = new AggregateCatalog(); 
catalog.Catalogs.Add(new DirectoryCatalog("bin")); 
_container = new CompositionContainer(catalog); 
var exports = _container.GetExports<HLResourceProviderFactoryBase>(); 

Мой DirectoryCatalog объект успешно находит сборки, где я хочу, чтобы получить детали из.

Любой намек на то, что может быть проблемой? Заранее спасибо

ответ

2

Вы можете использовать AssemblyInfo tool, чтобы увидеть график зависимостей и узнать, какая сборка зависит от «antlr.runtime».

+1

Спасибо, человек! Я на самом деле не проверял инструмент, но с вашим комментарием понял, что я импортировал больше сборок с помощью MEF, чем то, что мне действительно нужно ... Изменен DirectoryCatalog - AssemblyCatalog, и все сработало нормально:) ... Во всяком случае, у меня будет посмотрите на инструмент, которым вы поделились, держу пари, что это будет полезно позже ... – pollirrata

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