Library Audit
ControlMyNikon is intentionally built on the Microsoft Windows and .NET platform stack. The application does not depend on general-purpose third-party application frameworks such as imaging frameworks, logging frameworks, UI suites, ORM libraries, analytics SDKs, telemetry SDKs, or cloud service SDKs.
The app uses:
- Microsoft .NET, Windows App SDK, WinUI, and Windows platform libraries.
- Microsoft-supported CommunityToolkit packages. Microsoft Learn describes the .NET Community Toolkit as maintained and published by Microsoft, and documents the Windows Community Toolkit for WinUI developers.
- Nikon SDK components only where required for Nikon camera control and image workflows.
- ControlMyNikon and ArcEngine project-owned code for application behavior.
This keeps the application dependency surface small, platform-aligned, and easier to audit.
Note: The detailed audit output below uses the internal status labelapproved. On this page,approvedmeans Microsoft platform code, Microsoft-supported CommunityToolkit code, project-owned source, or a narrow SDK component that is required for a documented product feature.
Current Audit Status
- Completed on 2026-05-28.
- Updated on 2026-06-16 for the domain-app WebView2 Help removal.
- Scope:
Apps\ControlMyNikon\ControlMyNikon.csproj, plus shared source compiled into ControlMyNikon fromShared\Common. - Excluded from the source namespace scan: helper tools, harnesses, generated output, and non-compiled development areas.
- Result: no unapproved third-party packages or namespaces were found for ControlMyNikon.
- Microsoft-owned packages and platform interop namespaces are present as expected.
- The only non-Microsoft-named package family in the ControlMyNikon dependency list is CommunityToolkit, which is documented on Microsoft Learn and supported as part of Microsoft's Community Toolkit guidance for .NET and WinUI developers.
- ControlMyNikon no longer uses direct domain-app WebView2 Help runtime code. A focused source search on 2026-06-16 found no direct
Microsoft.Web.WebView2.Core,CoreWebView2, orWebView2Loadersource/runtime references in the active ControlMyNikon and shared shell scope.dotnet list package --include-transitivestill showsMicrosoft.Web.WebView2as a Microsoft-owned transitive package through the platform restore graph.
Microsoft And Platform Sources
- .NET Community Toolkit: Microsoft Learn
- MVVM Toolkit: Microsoft Learn
- Windows Community Toolkit: Microsoft Learn
- Nikon Imaging SDK news: Nikon
Last Formal Audit Output
The formal audit output below was captured on 2026-05-28 and predates the 2026-06-16 domain-app WebView2 Help removal. It is retained as the last full snapshot until the audit workflow is rerun.
The audit reviewed ControlMyNikon project package references, the current dotnet list package --include-transitive output for ControlMyNikon, and source using directives in ControlMyNikon plus compiled shared source. It did not send whole source files to the model and did not perform a full semantic source review.
Direct Packages
These packages are declared in Directory.Build.props and inherited by ControlMyNikon.
CommunityToolkit.Mvvm8.4.2: approved. Microsoft-supported CommunityToolkit package.CommunityToolkit.WinUI.Collections8.2.251219: approved. Microsoft-supported CommunityToolkit package.CommunityToolkit.WinUI.Controls.Primitives8.2.251219: approved. Microsoft-supported CommunityToolkit package.CommunityToolkit.WinUI.Controls.RangeSelector8.2.251219: approved. Microsoft-supported CommunityToolkit package.CommunityToolkit.WinUI.Controls.SettingsControls8.2.251219: approved. Microsoft-supported CommunityToolkit package.CommunityToolkit.WinUI.Controls.Sizers8.2.251219: approved. Microsoft-supported CommunityToolkit package.Microsoft.Windows.SDK.BuildTools10.0.28000.1721: approved. Microsoft-owned build tooling.Microsoft.WindowsAppSDK1.8.260416003: approved. Microsoft-owned app platform package.System.Drawing.Common10.0.7: approved. Microsoft-owned BCL package.System.IO.Ports10.0.7: approved. Microsoft-owned BCL package.System.Security.Cryptography.ProtectedData10.0.7: approved. Microsoft-owned BCL package.
Auto-Referenced Packages
These packages appear as top-level auto-referenced packages in the current ControlMyNikon restore graph.
Microsoft.DotNet.ILCompiler10.0.8: approved. Microsoft-owned AOT toolchain package.Microsoft.NET.ILLink.Tasks10.0.8: approved. Microsoft-owned trimming tool package.
Transitive Packages
CommunityToolkit.Common8.2.1: approved. CommunityToolkit dependency.CommunityToolkit.WinUI.Extensions8.2.251219: approved. CommunityToolkit dependency.CommunityToolkit.WinUI.Helpers8.2.251219: approved. CommunityToolkit dependency.CommunityToolkit.WinUI.Triggers8.2.251219: approved. CommunityToolkit dependency.Microsoft.Web.WebView21.0.3179.45: approved. Microsoft-owned package.Microsoft.Win32.SystemEvents10.0.7: approved. Microsoft-owned package.Microsoft.Windows.SDK.BuildTools.MSIX1.7.20250829.1: approved. Microsoft-owned build tooling.Microsoft.WindowsAppSDK.AI1.8.70: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.Base1.8.251216001: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.DWrite1.8.25122902: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.Foundation1.8.260415000: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.InteractiveExperiences1.8.260415001: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.ML1.8.2192: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.Runtime1.8.260416003: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.Widgets1.8.251231004: approved. Microsoft-owned Windows App SDK package.Microsoft.WindowsAppSDK.WinUI1.8.260415005: approved. Microsoft-owned Windows App SDK package.System.Numerics.Tensors9.0.0: approved. Microsoft-owned package.runtime.*.System.IO.Ports10.0.7: approved. Microsoft runtime packs emitted forSystem.IO.Ports.
The restore graph shows platform-specific System.IO.Ports runtime pack names for Android, Linux, macOS, Mac Catalyst, and native runtime identifiers. These are Microsoft runtime package entries emitted by the .NET restore graph. ControlMyNikon is built and shipped for Windows x64.
Using Namespace Review
The source using scan covered 262 source files in ControlMyNikon and compiled shared source. It found 1,241 using directives.
External and platform namespace roots:
CommunityToolkit: 136 occurrences. Microsoft-supported CommunityToolkit namespace family.Microsoft: 217 occurrences. Microsoft-owned namespace family.System: 571 occurrences. .NET Base Class Library namespace family.Windows: 60 occurrences. Microsoft Windows SDK namespace family.WinRT: 5 occurrences. Microsoft CsWinRT namespace family.
Solution-local namespace roots:
Common: 202 occurrences. Shared solution-local code compiled into ControlMyNikon.ControlMyNikon: 6 occurrences. App-local namespace.CustomEx: 1 occurrence. Internal namespace used by shared window code.LiveViewCore: 4 occurrences. Project-owned LiveView Render API namespace.NikonImageSdk: 5 occurrences. Project-owned Nikon ImageSDK integration namespace backed by scoped Nikon SDK workflow.TeeLocalized: 34 occurrences. Internal localization helper namespace.
External namespace families seen in using directives:
CommunityToolkit.CommonCommunityToolkit.Mvvm.ComponentModelCommunityToolkit.Mvvm.InputCommunityToolkit.Mvvm.MessagingCommunityToolkit.Mvvm.Messaging.MessagesCommunityToolkit.WinUI.CollectionsMicrosoft.UIMicrosoft.UI.CompositionMicrosoft.UI.Composition.SystemBackdropsMicrosoft.UI.DispatchingMicrosoft.UI.InputMicrosoft.UI.WindowingMicrosoft.UI.XamlMicrosoft.UI.Xaml.AutomationMicrosoft.UI.Xaml.ControlsMicrosoft.UI.Xaml.Controls.PrimitivesMicrosoft.UI.Xaml.DataMicrosoft.UI.Xaml.DocumentsMicrosoft.UI.Xaml.HostingMicrosoft.UI.Xaml.InputMicrosoft.UI.Xaml.MarkupMicrosoft.UI.Xaml.MediaMicrosoft.UI.Xaml.Media.AnimationMicrosoft.UI.Xaml.Media.ImagingMicrosoft.UI.Xaml.NavigationMicrosoft.VisualBasic.FileIOMicrosoft.Web.WebView2.CoreMicrosoft.Win32Microsoft.Windows.ApplicationModel.ResourcesMicrosoft.Windows.Storage.PickersSystemSystem.BuffersSystem.CollectionsSystem.Collections.ConcurrentSystem.Collections.GenericSystem.Collections.ObjectModelSystem.Collections.SpecializedSystem.ComponentModelSystem.DiagnosticsSystem.Diagnostics.CodeAnalysisSystem.DrawingSystem.Drawing.ImagingSystem.Drawing.TextSystem.GlobalizationSystem.IOSystem.IO.PortsSystem.LinqSystem.NetSystem.Net.NetworkInformationSystem.Net.SocketsSystem.RuntimeSystem.Runtime.CompilerServicesSystem.Runtime.InteropServicesSystem.Runtime.InteropServices.WindowsRuntimeSystem.Security.CryptographySystem.TextSystem.Text.JsonSystem.Text.Json.SerializationSystem.Text.Json.Serialization.MetadataSystem.Text.RegularExpressionsSystem.ThreadingSystem.Threading.TasksSystem.TimersSystem.Windows.InputSystem.XmlSystem.Xml.LinqWindows.ApplicationModel.DataTransferWindows.Devices.EnumerationWindows.FoundationWindows.GraphicsWindows.Graphics.ImagingWindows.Media.CoreWindows.Media.EditingWindows.Media.SpeechRecognitionWindows.StorageWindows.Storage.FilePropertiesWindows.Storage.PickersWindows.Storage.StreamsWindows.SystemWindows.UIWindows.UI.CoreWindows.UI.ViewManagementWinRTWinRT.Interop
Audit Verdict
- No unapproved third-party packages were found for ControlMyNikon.
- No unapproved third-party
usingroots were found in the audited ControlMyNikon source scope. - CommunityToolkit is present and treated as a Microsoft-supported toolkit family.
- NikonImageSdk source is present only in the scoped Nikon ImageSDK integration area required for Nikon NEF workflows.
- The remaining external dependencies are Microsoft-owned packages, Windows platform namespaces, .NET BCL namespaces, or platform interop namespaces.