VB.NET - Панель задач Windows Прогресс со встроенной DLL?

Ранее я задавал вопрос, как использовать индикатор выполнения панели задач Windows 7 без файлов .dll, но я понял, что в VS2010 вы можете встроить .dll в свое приложение. Я установил для этой опции значение true, но при попытке использовать код для указанной .dll я получаю эту ошибку:

Тип взаимодействия "Windows7ProgressBar" не может быть внедрен. Вместо этого используйте интерфейс приложения.

Не совсем понимая, что мне нужно делать, я, наконец, нашел одну .dll, которая весит всего 20 КБ (вместо трех, необходимых для Windows API), и я пока не могу ее использовать.
Любая помощь приветствуется!


person Yiu Korochko    schedule 11.07.2010    source источник
comment
Вопреки распространенному мнению, это не форум.   -  person Anax    schedule 11.07.2010


Ответы (1)


Параметр VS2010 под названием «Встроить тип взаимодействия» работает только для библиотек COM-взаимодействия. Не уверен, что может означать «Windows7ProgressBar», но это определенно не похоже на тип взаимодействия. Собственное имя COM-интерфейса — ITaskbarList4. Возможно, вы пытаетесь внедрить оболочку класса для этого интерфейса, но это не сработает.

Рассмотрите возможность использования инструмента ILMerge для объединения сборок.

person Hans Passant    schedule 11.07.2010
comment
Я попробую! просто пытаюсь сделать мое приложение как можно менее сложным. Теперь в списке ссылок я должен указать True, чтобы скопировать локальный или False, поскольку я буду встраивать его в приложение? - person Yiu Korochko; 12.07.2010
comment
Вы должны использовать True. Да, будь проще. Просто скопируйте DLL. - person Hans Passant; 12.07.2010
comment
Итак, когда приложение запускается с .dll, встроенной через ILMerge, оно должно распознавать, что dll встроена, но рассматривать ее как отдельный файл? Спасибо за ваше решение! - person Yiu Korochko; 13.07.2010