Я могу использовать такие инструменты, как «dumpbin» и «dll export», чтобы видеть общедоступные точки входа («экспорт») стандартных DLL win32, таких как Windows \ SYSTEM32 \ GDI32.dll. Но когда я использую эти же инструменты на .Net DLL, я вижу что-то вродеКак я могу получить список публичного экспорта из. Net DLL?
2000 .reloc 2000 .rsrc 48000 .text
У меня есть C# /. Net DLL, которая обеспечивает точки входа для управления производственного процесса, и я хочу, чтобы проверить его публичные точки входа в нашу документацию для обеспечения полноты публичной документации. Какой инструмент показывает публичные точки входа для DLL .Net?
Я пробовал Jetbrains DotPeek, который полностью декомпилирует нашу DLL в исходный код C#, но это слишком много, потому что он показывает ВСЕ и, похоже, не имеет сводного режима, когда он просто сообщает о публичных точках входа.
Все общедоступные классы и интерфейсы с общедоступными методами и свойствами можно рассматривать как «публичный экспорт» сборки .NET. Следовательно, вы можете просмотреть его вручную с помощью некоторого декомпилятора (как вы уже это сделали) или попытаться написать код, используя Reflection, чтобы перечислить все такие методы. –
Управляемые сборки не используют неуправляемый экспорт. Многие способы сделать это, здравомыслящий - написать модульные тесты. –
Не знаете, как модульные тесты решают вопрос. Наша цель - убедиться, что, когда у пользователя есть наша DLL, все документированное все, что открыто открыто через DLL **. Очевидно, мы можем догадаться, что открыто видно, изучая исходный код или сборку, но это только предположение. Знание того, что предоставляет DLL, является эмпирическим тестом, или, по крайней мере, так мы это сделали с более старыми DLL-файлами Win32. Сборка и исходный код говорят нам, что ** должно быть ** общедоступным, я надеялся, что DLL может обеспечить двойную проверку того, что на самом деле, эмпирически ** ** открыто. – user316117