Как встроить .tlb как файл ресурсов в DLL блока.NET?

Распространенным источником замедляющих приложений являются утечки памяти.

на iOS вы можете активировать Memory management флаги на вашей цели и следить за журналами, вы также можете использовать Xcode Memory Graph и инструменты для обнаружения утечек.

на Android вы можете использовать такие инструменты, как LeakCanary , чтобы получать уведомления о возникновении утечек.

После обнаружения утечки вы можете проверить свой код, чтобы определить источник и лучше управлять памятью.

13
задан Jox 6 January 2009 в 19:35
поделиться

1 ответ

Это не точно просто, чтобы сделать это с Visual Studio.NET, но это может быть сделано. На базовом уровне, что необходимо сделать, это:

  1. Генерируйте свой файл TLB, например, "YourLibrary.tlb".

  2. Создайте названный файл сценария ресурса Win32, например, "YourLibrary.rc" использование текстового редактора (такого как Блокнот или Файл/Новый/Файл.../текстовый файл в Visual Studio).

  3. В файле сценария введите следующий текст дословно (но замените Вашим фактическим именем файла TLB, конечно):

    1 typelib "YourLibrary.tlb"

  4. Сохраните файл сценария к той же папке как файл TLB.

  5. От Командной строки Visual Studio изменитесь на папку с файлом сценария и скомпилируйте его с помощью следующей команды:

    емкостно-резистивный YourLibrary.rc

    Это генерирует файл ресурсов Win32 в той же папке под названием "YourLibrary.res".

  6. В Visual Studio щелкните правой кнопкой по узлу проекта (например, "YourLibrary") в Проводнике Решения и выберите Свойства.

  7. На вкладке Application, под "Ресурсами", выбирают опцию "Resource File" и обзор в файл "YourLibrary.res" от шага 5.

  8. Сохраните и восстановите проект.

TLB будет теперь встроен как ресурс в DLL, таким образом, что другие приложения COM могут считать его.

При регенерации файла TLB позже, необходимо будет повторить шаг 5 для перекомпиляции файла ресурсов и шага 8 для встраивания новой версии в DLL.

Однако Вы можете автоматизировать часть этого с Событиями Сборки или ставя пользовательские цели MSBuild в Ваш файл проекта, но это - целое другое обсуждение.

11
ответ дан 2 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: