ControlMyNikon est intentionnellement construit sur la pile de plateformes Microsoft Windows et .NET. L'application ne dépend pas de frameworks d'application tiers à usage général tels que les frameworks d'imagerie, les frameworks de journalisation, les suites UI, les bibliothèques ORM, les SDK d'analyse, les SDK de télémétrie ou les SDK de services cloud.

L'application utilise :

  1. Microsoft .NET, Windows App SDK, WinUI et bibliothèques de plateforme Windows.
  2. Packages CommunityToolkit pris en charge par Microsoft. Microsoft Learn décrit le .NET Community Toolkit comme maintenu et publié par Microsoft, et documente le Windows Community Toolkit pour les développeurs WinUI.
  3. Composants SDK Nikon uniquement là où cela est nécessaire pour le contrôle des caméras Nikon et les flux de travail d'image.
  4. Code appartenant à ControlMyNikon et ArcEngine pour le comportement de l'application.

Cela maintient la surface de dépendance de l'application petite, alignée sur la plateforme et plus facile à auditer.

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.

État actuel de l'audit

  • Terminé le 2026-05-28.
  • Mis à jour le 2026-06-16 pour la suppression de l'aide WebView2 de domaine-app.
  • Portée : Apps\ControlMyNikon\ControlMyNikon.csproj, plus le code source partagé compilé dans ControlMyNikon à partir de Shared\Common.
  • Exclus de l'analyse de l'espace de noms source : outils d'aide, harnais, sortie générée et zones de développement non compilées.
  • Résultat : aucun package ou espace de noms tiers non approuvé n'a été trouvé pour ControlMyNikon.
  • Les packages appartenant à Microsoft et les espaces de noms d'interopérabilité de la plateforme sont présents comme prévu.
  • Le seul groupe de packages non nommés Microsoft dans la liste de dépendance de ControlMyNikon est CommunityToolkit, qui est documenté sur Microsoft Learn et pris en charge dans le cadre des conseils de Microsoft pour le Community Toolkit pour les développeurs .NET et WinUI.
  • ControlMyNikon n'utilise plus de code d'exécution d'aide WebView2 de domaine-app direct. Une recherche de source ciblée le 2026-06-16 n'a trouvé aucune référence source/runtime directe Microsoft.Web.WebView2.Core, CoreWebView2, ou WebView2Loader dans l'espace de portée actif de ControlMyNikon et de shell partagé. dotnet list package --include-transitive montre toujours Microsoft.Web.WebView2 comme un package transitif appartenant à Microsoft à travers le graphique de restauration de la plateforme.

Sources Microsoft et de plateforme


Dernière sortie d'audit formelle

La sortie d'audit formelle ci-dessous a été capturée le 2026-05-28 et précède la suppression de l'aide WebView2 de domaine-app le 2026-06-16. Elle est conservée comme le dernier instantané complet jusqu'à ce que le flux de travail d'audit soit relancé.

L'audit a examiné les références de package du projet ControlMyNikon, la sortie actuelle dotnet list package --include-transitive pour ControlMyNikon, et les directives de source using dans ControlMyNikon plus le code source partagé compilé. Il n'a pas envoyé de fichiers source entiers au modèle et n'a pas effectué un examen sémantique complet de la source.

Packages directs

Ces packages sont déclarés dans Directory.Build.props et hérités par ControlMyNikon.

  • CommunityToolkit.Mvvm 8.4.2 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • CommunityToolkit.WinUI.Collections 8.2.251219 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • CommunityToolkit.WinUI.Controls.Primitives 8.2.251219 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • CommunityToolkit.WinUI.Controls.RangeSelector 8.2.251219 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • CommunityToolkit.WinUI.Controls.SettingsControls 8.2.251219 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • CommunityToolkit.WinUI.Controls.Sizers 8.2.251219 : approuvé. Package CommunityToolkit pris en charge par Microsoft.
  • Microsoft.Windows.SDK.BuildTools 10.0.28000.1721 : approuvé. Outils de construction appartenant à Microsoft.
  • Microsoft.WindowsAppSDK 1.8.260416003 : approuvé. Package de plateforme d'application appartenant à Microsoft.
  • System.Drawing.Common 10.0.7 : approuvé. Package BCL appartenant à Microsoft.
  • System.IO.Ports 10.0.7 : approuvé. Package BCL appartenant à Microsoft.
  • System.Security.Cryptography.ProtectedData 10.0.7 : approuvé. Package BCL appartenant à Microsoft.

Packages auto-référencés

Ces packages apparaissent comme des packages auto-référencés de niveau supérieur dans le graphique de restauration actuel de ControlMyNikon.

  • Microsoft.DotNet.ILCompiler 10.0.8 : approuvé. Package d'outils AOT appartenant à Microsoft.
  • Microsoft.NET.ILLink.Tasks 10.0.8 : approuvé. Package d'outils de réduction appartenant à Microsoft.

Packages transitifs

  • CommunityToolkit.Common 8.2.1 : approuvé. Dépendance CommunityToolkit.
  • CommunityToolkit.WinUI.Extensions 8.2.251219 : approuvé. Dépendance CommunityToolkit.
  • CommunityToolkit.WinUI.Helpers 8.2.251219 : approuvé. Dépendance CommunityToolkit.
  • CommunityToolkit.WinUI.Triggers 8.2.251219 : approuvé. Dépendance CommunityToolkit.
  • Microsoft.Web.WebView2 1.0.3179.45 : approuvé. Package appartenant à Microsoft.
  • Microsoft.Win32.SystemEvents 10.0.7 : approuvé. Package appartenant à Microsoft.
  • Microsoft.Windows.SDK.BuildTools.MSIX 1.7.20250829.1 : approuvé. Outils de construction appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.AI 1.8.70 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.Base 1.8.251216001 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.DWrite 1.8.25122902 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.Foundation 1.8.260415000 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.InteractiveExperiences 1.8.260415001 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.ML 1.8.2192 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.Runtime 1.8.260416003 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.Widgets 1.8.251231004 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • Microsoft.WindowsAppSDK.WinUI 1.8.260415005 : approuvé. Package Windows App SDK appartenant à Microsoft.
  • System.Numerics.Tensors 9.0.0 : approuvé. Package appartenant à Microsoft.
  • runtime.*.System.IO.Ports 10.0.7 : approuvé. Packs d'exécution Microsoft émis pour System.IO.Ports.

Le graphique de restauration montre des noms de packs d'exécution spécifiques à la plateforme System.IO.Ports pour Android, Linux, macOS, Mac Catalyst et identifiants d'exécution natifs. Ce sont des entrées de package d'exécution Microsoft émises par le graphique de restauration .NET. ControlMyNikon est construit et expédié pour Windows x64.

Examen de l'utilisation des espaces de noms

L'analyse de la source using a couvert 262 fichiers source dans ControlMyNikon et le code source partagé compilé. Elle a trouvé 1 241 directives using.

Racines d'espaces de noms externes et de plateforme :

  • CommunityToolkit: 136 occurrences. Famille d'espaces de noms CommunityToolkit prise en charge par Microsoft.
  • Microsoft: 217 occurrences. Famille d'espaces de noms appartenant à Microsoft.
  • System: 571 occurrences. Famille d'espaces de noms de la bibliothèque de classes de base .NET.
  • Windows: 60 occurrences. Famille d'espaces de noms du SDK Windows de Microsoft.
  • WinRT: 5 occurrences. Famille d'espaces de noms CsWinRT de Microsoft.

Racines d'espaces de noms locales à la solution :

  • Common: 202 occurrences. Code partagé local à la solution compilé dans ControlMyNikon.
  • ControlMyNikon: 6 occurrences. Espace de noms local à l'application.
  • CustomEx: 1 occurrence. Espace de noms interne utilisé par le code de fenêtre partagé.
  • LiveViewCore: 4 occurrences. Espace de noms API de rendu LiveView appartenant au projet.
  • NikonImageSdk: 5 occurrences. Espace de noms d'intégration Nikon ImageSDK appartenant au projet, soutenu par un flux de travail Nikon SDK ciblé.
  • TeeLocalized: 34 occurrences. Espace de noms d'aide à la localisation interne.

Familles d'espaces de noms externes vues dans les directives using :

  • 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

Verdict de l'audit

  • Aucun package tiers non approuvé n'a été trouvé pour ControlMyNikon.
  • Aucune racine using non approuvée n'a été trouvée dans la portée source auditée de ControlMyNikon.
  • CommunityToolkit est présent et traité comme une famille d'outils pris en charge par Microsoft.
  • Le code source NikonImageSdk est présent uniquement dans la zone d'intégration Nikon ImageSDK ciblée requise pour les flux de travail Nikon NEF.
  • Les autres dépendances externes sont des packages appartenant à Microsoft, des espaces de noms de plateforme Windows, des espaces de noms BCL .NET ou des espaces de noms d'interopérabilité de plateforme.