суббота, 17 февраля 2007 г.

Все о PInvoke

Недавно набрел на замечательный FAQ от GotDotNet, посвященный Platform Invoke (PInvoke): возможности вызова unmanaged (native) кода, например, Win32, из приложений .NET. В FAQ много полезной информации.

При использовании PInvoke частенько возникают проблемы, в том числе, не последняя - отсутствие прототипов Win32 API функций в пригодном для вставке в .NET виде. Я использую PInvoke.Net, также можно воспользоваться Interop Declarations for Windows.h Несложно и самому по прототипу составить соответствующее описание, но удобнее и быстрее воспользоваться готовым.

Пригодится так же Microsoft Win32 to Microsoft .NET Framework API Map

Technorati tags:
Blogus tags:

Возможности расширения приложений .NET

Уже довольно давно не обновлял свой блог: навалилось много работы, домашние дела и вообще много всего. Постараюсь исправиться :)

Microsoft решила более-менее стандартизировать подход к расширению приложений за счет разнообразных плагинов:

Microsoft .NET Framework сильно облегчает встраивание в собственные приложения компонентов, созданных другими разработчиками. Однако это просто, только если известно, к каким компонентам выполняется привязка. Если в момент сборки такие компоненты не известны, что типично для надстроек, то все становится намного сложнее. При расширении своих приложений у разработчиков часто возникают вопросы. Например, надстройки следует хранить в базе данных или на диске? Следует ли в надстройке использовать известный интерфейс или запрашивать тип для активации? Каков наилучший способ использования AppDomain, AppDomainManager и AppDomainSetup?

Эти и другие вопросы решаются в двух выпусках внутреннего бюллетеня CLR за счет введения в библиотеку базовых классов нового пространства имен System.AddIn, которое будет доступно в следующем выпуске Visual Studio® (с кодовым именем "Orcas").

Подробнее об этом можно узнать на русском языке, прочитав статью из февральского номера CLR Inside Out и ее продолжение Расширяемость приложений .NET, часть 2.

Этому же посвящен блог разработчиков: CLR Add-In Team Blog.

В блоге Jason He's WebLog рассматривается реализация данной модели для Paint.Net. Может быть интересен и блог одного из авторов: Jack Gudenkauf (JackG) WebLog.

Новые библиотеки доступны в январском CTP Visual Studio

Technorati tags: ,
Blogus tags: ,