У меня есть два решения: A и B. В решении A у меня есть проект A1 (который выводится в DLL). A1 первоначально используется только в рамках решения A, но из-за некоторых непредвиденных обстоятельств один из проектов в решении B в конечном итоге потребовал его.Почему я получаю контрольные точки в DLL-коде
Я скопировал DLL-файл проекта A1 из решения A в решение B, добавив его в качестве ссылки. Я сделал это в ручном режиме; Я должен скопировать и заменить DLL вручную всякий раз, когда есть изменение в A1.
Все в порядке до одного дня, я понял, что получаю контрольные точки во время отладки. К моему удивлению, точки останова находятся в классе от A1. Я могу видеть полные коды, которые я написал в решении A, включая комментарии. Когда я удалю точки останова оттуда, он вернется, когда я отлажу в следующий раз. Однако, похоже, на следующий день он исчез.
Теперь мой вопрос: Почему я могу видеть полные коды, когда я не копировал источник A1 в решение B? Я понимаю, что для DLL требуется декомпилятор для возврата в состояние своего кода. Даже с декомпилятором он должен только дать мне нечто похожее, но не точное. Самое удивительное, что я могу видеть все комментарии, которые я написал.
Я использую VS2012 Pro, используя .NET 4.5.
Чтобы понять это, я рекомендую читать ... http://www.codeproject.com/Articles/37456/How-To-Inspect-the-Content-of-a-Program-Database-P – Mick