Я только что запустил ILDasm на NHibernate.dll (v.2.1.2) из командной строки Visual Studio, и нет AssemblyRef для NHibernate.ByteCode.Castle.
Итакпроблема не в Visual Studio как таковой, проблема в том, что библиотека Nhibernate не ссылается напрямую на зависимую сборку.Я смутно помню, что читал, что это потому, что DLL-библиотеки Castle нужны только при ленивой загрузке, но это вызвало проблемы у многих людей, включая меня самого.
В итоге я использовал скрипт посткомпоновки, как предложено DavidAndroidDev,Ужасно, но это работает.
Обратите внимание, что последняя версия NH - v3.2 - имеет встроенный поставщик байт-кода и больше не требует DLL-библиотеки Castle.
Однако янедавно был обновлен непосредственно с NH 2.1.2 / FNH 1.0 до NH 3.2 / FNH 1.3 (предварительная версия) и обнаружил несколько серьезных изменений в обоих компонентах.Поэтому для нового пользователя FNH, вероятно, лучше остаться со старой версией.