Skip to content
JeremyKuhnePublic

About

Support for building .NET and .NET Framework apps on CsWin32

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Madowaku (窓枠): Win32 CsWin32 support for .NET and .NET Framework

Build codecov NuGet

Provides useful Win32 functionality based on both for .NET and .NET Framework applications.

Supported architectures

Madowaku supports x64 and ARM64, with separately compiled CsWin32 interop for each. AnyCPU and x86 builds are not supported. Set the application's compiler target explicitly:

<PropertyGroup>
  <PlatformTarget>ARM64</PlatformTarget>
</PropertyGroup>

Use x64 for an x64 application. The single KlutzyNinja.Madowaku package includes both architectures for all three target frameworks; its build targets select the matching compiler reference and runtime assembly. There is no architecture-neutral reference assembly. ARM64 applications using the .NET Framework build require the ARM64 .NET Framework 4.8.1 runtime.

Madowaku (窓枠) is the Japanese word for "window frame". This library provides extensions on top of CsWin32 to make it easier to create Win32 applications in .NET and .NET Framework.

Some of the design goals include:

  • Avoiding unnecessary allocations
  • Avoiding code that prevents AOT compilation on .NET

Features

  • Direct COM support (no need for COM Interop)
  • COM scoping mechanisms - see ComScope, AgileComPointer
  • Extended VARIANT and SAFEARRAY support
  • Dynamic COM object creation with ComClassFactory (including directly from a dll)
  • Pattern for implementing IComIID on .NET Framework (see IRecordInfo)

See CONTRIBUTING.md for more information on how to contribute to this project.

About

Support for building .NET and .NET Framework apps on CsWin32

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages