Что такое сборка DynamicProxyGenAssembly2?

Я использую Moq для моих модульных тестов. Чтобы проверить внутренние интерфейсы, я должен объявить атрибут InternalsVisibleTo сборке DynamicProxyGenAssembly2.

мы запускаем наши тесты запутанными, что полезно, потому что мы могли бы найти некоторые проблемы с запутыванием с этим подходом. Вызвано DynamicProxyGenAssembly2 мой компонент не обфусцирован.

поэтому мне нужно знать, что такое сборка DynamicProxyGenAssembly2? Я нигде не мог его найти. на моем диске. Он составлен на заказ.dll или он генерируется во время выполнения? Возможно, если бы я знал, что это за сборка, мы могли бы найти способ обойти мою проблему. Кто-нибудь сталкивался с такой же проблемой?

пожалуйста не предложите что нам нужно побежать наши тесты unobfscated. На данный момент это не вариант.

редактировать

DynamicProxyGenAssembly2 генерируется во время выполнения. Чтобы удовлетворить Dotfuscator, поставьте пустую dll рядом с Moq. Кроме того, нам пришлось модифицировать замок.Core dll для использования открытого ключа. Последние проблемы, которые у нас были, были решены здесь. С этим мы могли бы без проблем провести все наши тесты.

С Уважением, Иггдрасиль.

1 ответов


DynamicProxyGenAssembly2-это временная сборка, построенная насмешливыми системами, использующими CastleProxy, такими как Moq или NSubsitute. Он генерируется, когда макет необходим и утилизируется после завершения тестов.

Что касается метода Expose Internals, чем есть решение RhinoMocks, которое будет работать для вашего Moq с минимальными изменениями:

http://ayende.com/Wiki/Rhino+Mocks+-+Internal+Methods.ashx?AspxAutoDetectCookieSupport=1