У меня есть следующая структура проекта, использующая модель домена, StructureMap и Fluent NHibernate:
Проблема, с которой я сталкиваюсь, заключается в том, что для Fluent NHibernate требуется все следующеебыть каталогом bin сайта для работы во время выполнения:
- Antlr3.Runtime.dll *
- Castle.Core.dll
- Castle.DynamicProxy2.dll
- FluentNHibernate.dll *
- Iesi.Collections.dll *
- log4net.dll *
- NHibernate.ByteCode.Castle.dll
- NHibernate.dll *
Проблема в том, что не всеэти сборки выводятся в каталог bin моего сайта.В настоящее время только элементы с *
выводятся правильно.Элементы в полужирном отсутствуют в каталоге bin.
Теперь я предположил бы, что причина этого в том, что я не добавил их в качестве ссылок на мой Fluent NHibernate
проект.В настоящее время у меня есть только ссылки на NHibernate.dll и FluentNHibernate.dll .Одних этих двух ссылок достаточно для того, чтобы пронести предметы, отмеченные *
, но они не проникают через пропущенные предметы.
Итак, я подумал, что, чтобы заставить их всех пройти, я быпросто добавьте их как ссылки на проект Fluent NHibernate
.К сожалению, это не имеет значения;те же элементы все еще отсутствовали в каталоге bin.
Я никогда не понимал, как Visual Studio решает, какие сборки копировать.Я всегда предполагал, что это была любая сборка, помеченная как Copy Local = true , но в этом сценарии это не так.
Конечно, я мог бы просто добавить все ссылки на сборкив Website
, но тогда это закончилось, победив точку слабой связи проектов через StructureMap
.
Кто-нибудь знает, почему отсутствуют сборки и как я могу заставить их правильно копировать