ControlMyNikon 是专门构建在 Microsoft Windows 和 .NET 平台栈上的。该应用程序不依赖于通用的第三方应用程序框架,如成像框架、日志框架、UI 套件、ORM 库、分析 SDK、遥测 SDK 或云服务 SDK。

该应用程序使用:

  1. Microsoft .NET、Windows 应用 SDK、WinUI 和 Windows 平台库。
  2. Microsoft 支持的 CommunityToolkit 包。Microsoft Learn 将 .NET Community Toolkit 描述为由 Microsoft 维护和发布,并为 WinUI 开发人员记录 Windows Community Toolkit。
  3. 仅在需要时使用 Nikon SDK 组件进行 Nikon 相机控制和图像工作流。
  4. ControlMyNikon 和 ArcEngine 项目拥有的应用程序行为代码。

这使得应用程序的依赖表面较小、与平台对齐,并且更易于审计。

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.

当前审计状态

  • 于 2026-05-28 完成。
  • 于 2026-06-16 更新,移除了 domain-app WebView2 帮助。
  • 范围:Apps\ControlMyNikon\ControlMyNikon.csproj,以及从 Shared\Common 编译到 ControlMyNikon 的共享源。
  • 从源命名空间扫描中排除:辅助工具、测试工具、生成的输出和未编译的开发区域。
  • 结果:未发现 ControlMyNikon 的未批准第三方包或命名空间。
  • Microsoft 拥有的包和平台互操作命名空间按预期存在。
  • ControlMyNikon 依赖列表中唯一的非 Microsoft 命名包家族是 CommunityToolkit,该包在 Microsoft Learn 上有文档,并作为 Microsoft 对 .NET 和 WinUI 开发人员的 Community Toolkit 指导的一部分提供支持。
  • ControlMyNikon 不再使用直接的 domain-app WebView2 帮助运行时代码。2026-06-16 的集中源搜索未在活动的 ControlMyNikon 和共享 shell 范围内找到直接 Microsoft.Web.WebView2.CoreCoreWebView2WebView2Loader 源/运行时引用。dotnet list package --include-transitive 仍然显示 Microsoft.Web.WebView2 作为通过平台恢复图的 Microsoft 拥有的传递包。

Microsoft 和平台源


最后正式审计输出

以下正式审计输出于 2026-05-28 捕获,并在 2026-06-16 的 domain-app WebView2 帮助移除之前。它被保留为最后的完整快照,直到审计工作流重新运行。

审计审查了 ControlMyNikon 项目包引用、ControlMyNikon 的当前 dotnet list package --include-transitive 输出,以及 ControlMyNikon 中的源 using 指令和编译的共享源。它没有将整个源文件发送到模型,也没有执行完整的语义源审查。

直接包

这些包在 Directory.Build.props 中声明,并由 ControlMyNikon 继承。

  • CommunityToolkit.Mvvm 8.4.2:已批准。Microsoft 支持的 CommunityToolkit 包。
  • CommunityToolkit.WinUI.Collections 8.2.251219:已批准。Microsoft 支持的 CommunityToolkit 包。
  • CommunityToolkit.WinUI.Controls.Primitives 8.2.251219:已批准。Microsoft 支持的 CommunityToolkit 包。
  • CommunityToolkit.WinUI.Controls.RangeSelector 8.2.251219:已批准。Microsoft 支持的 CommunityToolkit 包。
  • CommunityToolkit.WinUI.Controls.SettingsControls 8.2.251219:已批准。Microsoft 支持的 CommunityToolkit 包。
  • CommunityToolkit.WinUI.Controls.Sizers 8.2.251219:已批准。Microsoft 支持的 CommunityToolkit 包。
  • Microsoft.Windows.SDK.BuildTools 10.0.28000.1721:已批准。Microsoft 拥有的构建工具。
  • Microsoft.WindowsAppSDK 1.8.260416003:已批准。Microsoft 拥有的应用平台包。
  • System.Drawing.Common 10.0.7:已批准。Microsoft 拥有的 BCL 包。
  • System.IO.Ports 10.0.7:已批准。Microsoft 拥有的 BCL 包。
  • System.Security.Cryptography.ProtectedData 10.0.7:已批准。Microsoft 拥有的 BCL 包。

自动引用的包

这些包在当前 ControlMyNikon 恢复图中作为顶级自动引用包出现。

  • Microsoft.DotNet.ILCompiler 10.0.8:已批准。Microsoft 拥有的 AOT 工具链包。
  • Microsoft.NET.ILLink.Tasks 10.0.8:已批准。Microsoft 拥有的修剪工具包。

传递包

  • CommunityToolkit.Common 8.2.1:已批准。CommunityToolkit 依赖项。
  • CommunityToolkit.WinUI.Extensions 8.2.251219:已批准。CommunityToolkit 依赖项。
  • CommunityToolkit.WinUI.Helpers 8.2.251219:已批准。CommunityToolkit 依赖项。
  • CommunityToolkit.WinUI.Triggers 8.2.251219:已批准。CommunityToolkit 依赖项。
  • Microsoft.Web.WebView2 1.0.3179.45:已批准。Microsoft 拥有的包。
  • Microsoft.Win32.SystemEvents 10.0.7:已批准。Microsoft 拥有的包。
  • Microsoft.Windows.SDK.BuildTools.MSIX 1.7.20250829.1:已批准。Microsoft 拥有的构建工具。
  • Microsoft.WindowsAppSDK.AI 1.8.70:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.Base 1.8.251216001:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.DWrite 1.8.25122902:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.Foundation 1.8.260415000:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.InteractiveExperiences 1.8.260415001:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.ML 1.8.2192:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.Runtime 1.8.260416003:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.Widgets 1.8.251231004:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • Microsoft.WindowsAppSDK.WinUI 1.8.260415005:已批准。Microsoft 拥有的 Windows 应用 SDK 包。
  • System.Numerics.Tensors 9.0.0:已批准。Microsoft 拥有的包。
  • runtime.*.System.IO.Ports 10.0.7:已批准。为 System.IO.Ports 发出的 Microsoft 运行时包。

恢复图显示 Android、Linux、macOS、Mac Catalyst 和本机运行时标识符的特定于平台的 System.IO.Ports 运行时包名称。这些是由 .NET 恢复图发出的 Microsoft 运行时包条目。ControlMyNikon 是为 Windows x64 构建和发布的。

使用命名空间审查

using 扫描覆盖了 ControlMyNikon 和编译的共享源中的 262 个源文件。它发现了 1,241 个 using 指令。

外部和平台命名空间根:

  • CommunityToolkit:136 次出现。Microsoft 支持的 CommunityToolkit 命名空间家族。
  • Microsoft:217 次出现。Microsoft 拥有的命名空间家族。
  • System:571 次出现。 .NET 基类库命名空间家族。
  • Windows:60 次出现。Microsoft Windows SDK 命名空间家族。
  • WinRT:5 次出现。Microsoft CsWinRT 命名空间家族。

解决方案本地命名空间根:

  • Common:202 次出现。编译到 ControlMyNikon 的共享解决方案本地代码。
  • ControlMyNikon:6 次出现。应用本地命名空间。
  • CustomEx:1 次出现。由共享窗口代码使用的内部命名空间。
  • LiveViewCore:4 次出现。项目拥有的 LiveView 渲染 API 命名空间。
  • NikonImageSdk:5 次出现。由范围 Nikon SDK 工作流支持的项目拥有的 Nikon ImageSDK 集成命名空间。
  • TeeLocalized:34 次出现。内部本地化辅助命名空间。

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

审计裁决

  • 未发现 ControlMyNikon 的未批准第三方包。
  • 在审计的 ControlMyNikon 源范围内未发现未批准的第三方 using 根。
  • CommunityToolkit 存在并被视为 Microsoft 支持的工具包家族。
  • NikonImageSdk 源仅存在于为 Nikon NEF 工作流所需的范围 Nikon ImageSDK 集成区域。
  • 其余外部依赖项是 Microsoft 拥有的包、Windows 平台命名空间、.NET BCL 命名空间或平台互操作命名空间。