Я сталкивался с этой проблемой слишком много раз, и мне нужен автоматизированный подход:
У меня есть несколько DLL-файлов, которые постоянно создаются / изменяются и используются несколькими проектами.
Я создал приложение на C #, которое определяет наличие файлов DLL и предупреждает оператора, если они отсутствуют, и убивает программу.В этом приложении на C # я хочу, чтобы он также проверял, является ли это «отладочной» версией - другими словами, он завис бы, если бы он работал на компьютере конечного пользователя.
Теперь я искал высоко ии нашел несколько возможных решений, но все они провалились.
Assembly.LoadFrom(string)
не работает для неуправляемого кода.Я могу использовать это для тестирования управляемых DLL-файлов, но не файлов C ++.
Я подумал, что смогу использовать Dependency Walker или аналогичную программу для запуска в моем приложении, чтобы дать мнеданные ссылок на сборку, к сожалению, консоль depends.exe
выводит только в файл (и тогда мне придется читать в каждом файле и анализировать его для моих данных (очень интенсивно, плюс я должен включить depends.exe
и DLL)файлы в моих проектах)), кроме того, он, кажется, не выводит данные, которые мне действительно нужны (или, по крайней мере, я не смог их сделать).
Также пытался dumpbin , но я не могу заставить его работать на моей машине.
Я также нашел несколько ссылок, которые должны были дать мне источник для Dependency Walker.К сожалению, все они оказались мертвыми.Я бы не подумал, что это так сложно, но по какой-то причине у меня возникают трудности с выяснением, как это автоматизировать.
Некоторые ссылки на источники, которые были полезны для меня, но ни одна изони решили проблему с данными неуправляемой сборки.