![]() |
VOOZH | about |
dotnet add package DirectNAot --version 1.6.3
NuGet\Install-Package DirectNAot -Version 1.6.3
<PackageReference Include="DirectNAot" Version="1.6.3" />
<PackageVersion Include="DirectNAot" Version="1.6.3" />Directory.Packages.props
<PackageReference Include="DirectNAot" />Project file
paket add DirectNAot --version 1.6.3
#r "nuget: DirectNAot, 1.6.3"
#:package DirectNAot@1.6.3
#addin nuget:?package=DirectNAot&version=1.6.3Install as a Cake Addin
#tool nuget:?package=DirectNAot&version=1.6.3Install as a Cake Tool
This is an AOT-friendly version of DirectN. Aimed at x64 targets (doesn't mean it won't work for x86 targets, but it may not work for ambiguous types) . Only for .NET Core 9 and beyond, it won't work for version below 9 or with .NET Framework.
Don't forget to check the DirectN.Extensions nuget, a set of utilities that are not mandatory, but super useful for programming with DirectN (and COM and interop in general).
The key points that drive how code is generated and built:
LibraryImport, source-generated `ComWrappers, etc.unsafe usage is as limited as possible.ISomething*) usage is not publicly exposed, only interface types (like ISomething), or nint depending on the situation. object as out parameter type for untyped (native void**) COM interfaces has been considered but it's been replaced by nint which is more universal, including for authoring (aka implementing COM interfaces in .NET) scenarios.ComObject instances are created using ComWrappers' "unique instance" (CreateObjectFlags.UniqueInstance and UniqueComInterfaceMarshaller<>) marshalling feature, as we want to control when objects are released (what's the serious use of non-unique instances in interop scenarios anyway?)| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 2 NuGet packages that depend on DirectNAot:
| Package | Downloads |
|---|---|
|
DirectNAot.Extensions
Extensions code for DirectNAOT package: Com utilities, Extension methods, Windows utilities, DXC utilities, etc. |
|
|
WebView2Aot
AOT-Compatible Windows WebView2 interop Code for .NET Core without any dependency on Winforms, WPF, WinUI, or other UI frameworks. |
This package is not used by any popular GitHub repositories.