Я использовал функцию «Оптимизировать ссылки» ReSharper в одном из своих проектов C#, и она удалила пару ссылок на Fluent Nhibernate/Nhibernate. Я думал, что это совершенно верно, потому что я не ссылаюсь ни на что из них напрямую в этом проекте.
Когда я перестроил решение, меня встретили:
Тип FluentNHibernate.Mapping.ClassMap`1 определен в сборке, на которую нет ссылок.
Проект (назовем его A) не ссылается напрямую на Fluent Nhibernate, но ссылается на другой проект B, который использует Fluent NHibernate для сопоставлений. Что касается использования B в A, я использую класс, в котором есть карта FNH, но я нигде не использую/ссылаюсь на этот внутренний класс в А.
Я думал, что если проект .Net не ссылается на сборку в коде напрямую, это не обязательно должно быть в ссылках проекта. Или это предположение было ошибочным в данном случае?