Packet Microsoft.Windows.CsWin32 - как сгенерить public классы?
От: mDmitriy Россия  
Дата: 11.01.24 15:43
Оценка:
Всем привет!

коллеги, кто пользовался пакетом Microsoft.Windows.CsWin32?

Я попробовал — работает, чего-то генерит
но генерит internal классы и internal вызовы функций WinApi
т.е., пользоваться всем этим счастьем снаружи нельзя

кто-нибудь знает, можно ли настроить кодогенерацию, чтобы все генерилось в public?

спасибо
cswin32 winapi
Re: Packet Microsoft.Windows.CsWin32 - как сгенерить public классы?
От: pilgrim_ Россия  
Дата: 11.01.24 16:16
Оценка: 6 (1)
Здравствуйте, mDmitriy, Вы писали:

D>коллеги, кто пользовался пакетом Microsoft.Windows.CsWin32?

D>кто-нибудь знает, можно ли настроить кодогенерацию, чтобы все генерилось в public?

Не пользовался, но вроде в ридми всё написано:

To configure these settings, create a NativeMethods.json file in your project directory. Specifying the $schema property that points to the schema adds completions, descriptions and validation in many JSON editors, and in fact is where all the documentation for the available settings is found.


{
  "$schema": "https://aka.ms/CsWin32.schema.json",
  "emitSingleFile": false,
  "public": true
}
Re[2]: Packet Microsoft.Windows.CsWin32 - как сгенерить public классы?
От: mDmitriy Россия  
Дата: 16.01.24 07:20
Оценка:
Здравствуйте, pilgrim_, Вы писали:
_>Не пользовался, но вроде в ридми всё написано:
Спасибо большое, все сработало

Может быть знаете, как исключить генерацию параметров типа void* и void**?
а то некоторые методы генерятся нормально (ref и out), а некоторые не хотят
Re[3]: Packet Microsoft.Windows.CsWin32 - как сгенерить public классы?
От: pilgrim_ Россия  
Дата: 08.02.24 10:39
Оценка: 6 (1)
Здравствуйте, mDmitriy, Вы писали:

D>Может быть знаете, как исключить генерацию параметров типа void* и void**?

D>а то некоторые методы генерятся нормально (ref и out), а некоторые не хотят

Не знаю, но попробуй версию из транка, смотрю там движуха идёт.

ps: безотносительно сабжа, не все неуправляемые структуры можно 1 к 1 отобразить на .NET типы, и тут либо кастомный маршалинг, либо IntPtr.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.