【问题标题】:Errors converting a WPF app to UWP将 WPF 应用程序转换为 UWP 时出错
【发布时间】:2018-03-15 17:11:18
【问题描述】:

我正在运行 Windows 应用认证工具包 v10.0.16299.15 来验证使用 Telerik v2017.2.606.45 中的第三方控件的 WPF 应用程序。

测试结果是这样的:

文件 Telerik.Windows.Controls.ImageEditor.dll 包含对“CDB”的阻止可执行引用。

文件 Telerik.Windows.Controls.Navigation.dll 包含对“rEg”的阻止的可执行文件引用。

问题

“CDB”:表示 Microsoft 控制台调试器?

如果答案是肯定的,你能解释一下如何在不使用 Process.Start() 的情况下从代码中调用它吗?

“rEg”:表示 Windows 注册表?

查看源代码对注册表的唯一引用如下:

RegistryKey classesRoot = Registry.ClassesRoot;
RegistryKey regKeykFileType = classesRoot.OpenSubKey(ext);

string themeId = Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General", "CurrentTheme", "").ToString();

不允许读取注册表?

【问题讨论】:

    标签: c# wpf uwp telerik desktop-bridge


    【解决方案1】:

    对被阻止的可执行文件的测试是一项可选测试。您可以成功提交这些失败。它们实际上更像是警告,旨在作为指针/提醒来验证您在 Windows 10 S 模式下的功能: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-test-windows-s

    我同意该工具报告这些潜在问题的方式令人困惑,并将与 WACK 团队跟进以改进这一点。

    回答您的问题: cdb.exe = Microsoft 控制台调试器 reg.exe = 控制台注册工具

    您当然仍然可以从 WPF 应用程序中使用注册表。您显示的代码非常好。您不能做的是启动 reg.exe 工具并从应用程序外部进行修改。似乎您没有这样做,并且 WACK 在这里标记了误报。我猜您所包含的库/框架之一对 reg.exe 有一些引用,因此即使您实际上并未使用库的该部分,它也会在静态分析中被标记。

    【讨论】:

    • 感谢您的快速回复。在这种情况下,我会立即提交应用程序。无论如何,请您回答问题以了解消息的含义吗?
    猜你喜欢
    • 2017-12-08
    • 2017-08-06
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多