我有一个Xamarin Forms应用程序,我已经成功地将Dotfuscator CE与Android和iOS集成在一起。 现在我正在尝试与 UWP 集成,但在 Dotfuscator 运行时出现构建错误。 我打开了更详细的输出,看到这个:
[Build Output] Couldn't load external type because its assembly can't be found: Windows.UI.Xaml.Controls.Page,Windows.Foundation.UniversalApiContract, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null
我遵循了与Android和iOS相同的方向,并更新了Dotfuscator CE(5.40.0.8950)和Visual Studio Community 2017(15.9.5)。 有什么想法吗? 使用 Dotfuscator CE 无法保护 UWP 吗?
位置自早期 SDK 版本以来发生更改,您可能需要告诉 Dotfuscator 在哪里可以找到UniversalApiContract
。我在这里找到了我的,您的路径可能会因您拥有的版本而异:
C:Program Files (x86)Windows Kits10References10.0.17763.0Windows.Foundation.UniversalApiContract7.0.0.0
要告诉 Dotfuscator 社区查看此附加目录:
- 从Visual Studio启动Dotfuscator
- Config Editor (GUI),方法是选择"工具>抢占保护 - Dotfuscator 社区"。
- 打开 UWP 项目的
DotfuscatorConfig.xml
文件。 - 在"程序集加载路径>设置"下,单击绿色加号图标以添加路径,将该路径粘贴到目录中,然后单击"确定"。
- 保存配置文件。
之后,再次尝试从Visual Studio构建项目。
(注意:我为Dotfuscator团队工作,并作为我工作的一部分回答。