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:

  1. Microsoft .NET, Windows App SDK, WinUI, and Windows platform libraries.
  2. 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.
  3. Nikon SDK components only where required for Nikon camera control and image workflows.
  4. 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 label approved. On this page, approved means 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 from Shared\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, or WebView2Loader source/runtime references in the active ControlMyNikon and shared shell scope. dotnet list package --include-transitive still shows Microsoft.Web.WebView2 as a Microsoft-owned transitive package through the platform restore graph.

Microsoft And Platform Sources


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.Mvvm 8.4.2: approved. Microsoft-supported CommunityToolkit package.
  • CommunityToolkit.WinUI.Collections 8.2.251219: approved. Microsoft-supported CommunityToolkit package.
  • CommunityToolkit.WinUI.Controls.Primitives 8.2.251219: approved. Microsoft-supported CommunityToolkit package.
  • CommunityToolkit.WinUI.Controls.RangeSelector 8.2.251219: approved. Microsoft-supported CommunityToolkit package.
  • CommunityToolkit.WinUI.Controls.SettingsControls 8.2.251219: approved. Microsoft-supported CommunityToolkit package.
  • CommunityToolkit.WinUI.Controls.Sizers 8.2.251219: approved. Microsoft-supported CommunityToolkit package.
  • Microsoft.Windows.SDK.BuildTools 10.0.28000.1721: approved. Microsoft-owned build tooling.
  • Microsoft.WindowsAppSDK 1.8.260416003: approved. Microsoft-owned app platform package.
  • System.Drawing.Common 10.0.7: approved. Microsoft-owned BCL package.
  • System.IO.Ports 10.0.7: approved. Microsoft-owned BCL package.
  • System.Security.Cryptography.ProtectedData 10.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.ILCompiler 10.0.8: approved. Microsoft-owned AOT toolchain package.
  • Microsoft.NET.ILLink.Tasks 10.0.8: approved. Microsoft-owned trimming tool package.

Transitive Packages

  • CommunityToolkit.Common 8.2.1: approved. CommunityToolkit dependency.
  • CommunityToolkit.WinUI.Extensions 8.2.251219: approved. CommunityToolkit dependency.
  • CommunityToolkit.WinUI.Helpers 8.2.251219: approved. CommunityToolkit dependency.
  • CommunityToolkit.WinUI.Triggers 8.2.251219: approved. CommunityToolkit dependency.
  • Microsoft.Web.WebView2 1.0.3179.45: approved. Microsoft-owned package.
  • Microsoft.Win32.SystemEvents 10.0.7: approved. Microsoft-owned package.
  • Microsoft.Windows.SDK.BuildTools.MSIX 1.7.20250829.1: approved. Microsoft-owned build tooling.
  • Microsoft.WindowsAppSDK.AI 1.8.70: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.Base 1.8.251216001: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.DWrite 1.8.25122902: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.Foundation 1.8.260415000: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.InteractiveExperiences 1.8.260415001: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.ML 1.8.2192: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.Runtime 1.8.260416003: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.Widgets 1.8.251231004: approved. Microsoft-owned Windows App SDK package.
  • Microsoft.WindowsAppSDK.WinUI 1.8.260415005: approved. Microsoft-owned Windows App SDK package.
  • System.Numerics.Tensors 9.0.0: approved. Microsoft-owned package.
  • runtime.*.System.IO.Ports 10.0.7: approved. Microsoft runtime packs emitted for System.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.Common
  • CommunityToolkit.Mvvm.ComponentModel
  • CommunityToolkit.Mvvm.Input
  • CommunityToolkit.Mvvm.Messaging
  • CommunityToolkit.Mvvm.Messaging.Messages
  • CommunityToolkit.WinUI.Collections
  • Microsoft.UI
  • Microsoft.UI.Composition
  • Microsoft.UI.Composition.SystemBackdrops
  • Microsoft.UI.Dispatching
  • Microsoft.UI.Input
  • Microsoft.UI.Windowing
  • Microsoft.UI.Xaml
  • Microsoft.UI.Xaml.Automation
  • Microsoft.UI.Xaml.Controls
  • Microsoft.UI.Xaml.Controls.Primitives
  • Microsoft.UI.Xaml.Data
  • Microsoft.UI.Xaml.Documents
  • Microsoft.UI.Xaml.Hosting
  • Microsoft.UI.Xaml.Input
  • Microsoft.UI.Xaml.Markup
  • Microsoft.UI.Xaml.Media
  • Microsoft.UI.Xaml.Media.Animation
  • Microsoft.UI.Xaml.Media.Imaging
  • Microsoft.UI.Xaml.Navigation
  • Microsoft.VisualBasic.FileIO
  • Microsoft.Web.WebView2.Core
  • Microsoft.Win32
  • Microsoft.Windows.ApplicationModel.Resources
  • Microsoft.Windows.Storage.Pickers
  • System
  • System.Buffers
  • System.Collections
  • System.Collections.Concurrent
  • System.Collections.Generic
  • System.Collections.ObjectModel
  • System.Collections.Specialized
  • System.ComponentModel
  • System.Diagnostics
  • System.Diagnostics.CodeAnalysis
  • System.Drawing
  • System.Drawing.Imaging
  • System.Drawing.Text
  • System.Globalization
  • System.IO
  • System.IO.Ports
  • System.Linq
  • System.Net
  • System.Net.NetworkInformation
  • System.Net.Sockets
  • System.Runtime
  • System.Runtime.CompilerServices
  • System.Runtime.InteropServices
  • System.Runtime.InteropServices.WindowsRuntime
  • System.Security.Cryptography
  • System.Text
  • System.Text.Json
  • System.Text.Json.Serialization
  • System.Text.Json.Serialization.Metadata
  • System.Text.RegularExpressions
  • System.Threading
  • System.Threading.Tasks
  • System.Timers
  • System.Windows.Input
  • System.Xml
  • System.Xml.Linq
  • Windows.ApplicationModel.DataTransfer
  • Windows.Devices.Enumeration
  • Windows.Foundation
  • Windows.Graphics
  • Windows.Graphics.Imaging
  • Windows.Media.Core
  • Windows.Media.Editing
  • Windows.Media.SpeechRecognition
  • Windows.Storage
  • Windows.Storage.FileProperties
  • Windows.Storage.Pickers
  • Windows.Storage.Streams
  • Windows.System
  • Windows.UI
  • Windows.UI.Core
  • Windows.UI.ViewManagement
  • WinRT
  • WinRT.Interop

Audit Verdict

  • No unapproved third-party packages were found for ControlMyNikon.
  • No unapproved third-party using roots 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.