Есть ли способ декомпилировать динамические прокси-классы, которые создаются NHibernate? - PullRequest
4 голосов
/ 12 июля 2011

Мне очень нравится знать, что происходит в динамических прокси-классах, которые генерирует NHibernate.

Я прекрасно осведомлен о том, что динамические прокси NHibernate делают на более высоком уровне, но определенно может пригодиться, чтобы иметь возможность декомпилировать их (используя Reflector или что-то подобное) во время сеансов отладки.

Итак, есть ли способ декомпилировать динамические прокси-классы, сгенерированные NHibernate?

Ответы [ 3 ]

3 голосов
/ 12 июля 2011

Это можно сделать с помощью NHibernate 3.2.0 (старая версия не создает прокси-серверы самостоятельно). Просто скомпилируйте исходный код NHibernate с символами компиляции DEBUG и DEBUG_PROXY_OUTPUT. Затем NHibernate запишет файлы модуля (* .mod) и сборки (generateAssembly.dll) в текущий каталог при создании типа прокси.

1 голос
/ 12 июля 2011

Если вы ссылаетесь на прокси-сервер коллекции NHibernate, вы можете просто загрузить исходный код NHibernate, но если вы ссылаетесь на генерацию nhibernate динамического прокси во время выполнения, чем я не думаю, что вы можете.

1 голос
/ 12 июля 2011

Просто возьмите сборку, в которой находятся классы, и откройте ее с помощью ILSpy .
В случае динамически генерируемых прокси:
Также проживают в сборке. Вы можете поместить в свою программу некоторый код, который идентифицирует сборку, в которой находятся сгенерированные прокси-классы, и скопировать ее на диск, а затем открыть в ILSpy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...