Dotfuscator在Xamarin UWP项目中失败

Dotfuscator在Xamarin UWP项目中失败,xamarin,uwp,dotfuscator,Xamarin,Uwp,Dotfuscator,我有一个Xamarin表单应用程序,我已经成功地将Dotfuscator CE与Android和iOS集成。现在我正在尝试与UWP集成,但在Dotfuscator运行时出现构建错误。我打开了更详细的输出,看到了以下内容: [生成输出]无法加载外部类型,因为无法找到它的程序集:Windows .ux.xAML.Fabel.Page,WINDOWS .Buffig.UnvialSalpCopRoupe,版本= 5.0.0.0,Cule=中立,Puffic KealKoTe= NULL/ 我遵循

我有一个Xamarin表单应用程序,我已经成功地将Dotfuscator CE与Android和iOS集成。现在我正在尝试与UWP集成,但在Dotfuscator运行时出现构建错误。我打开了更详细的输出,看到了以下内容:

<代码> [生成输出]无法加载外部类型,因为无法找到它的程序集:Windows .ux.xAML.Fabel.Page,WINDOWS .Buffig.UnvialSalpCopRoupe,版本= 5.0.0.0,Cule=中立,Puffic KealKoTe= 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 Kits\10\References\10.0.17763.0\Windows.Foundation.UniversalApiContract\7.0.0.0
要告诉Dotfuscator社区查看此附加目录,请执行以下操作:

  • 通过选择工具>抢占式保护-Dotfuscator社区,从Visual Studio启动Dotfuscator配置编辑器(GUI)
  • 打开UWP项目的
    DotfuscatorConfig.xml
    文件
  • 在下,单击绿色加号图标添加路径,将路径粘贴到目录,然后单击确定
  • 保存配置文件
  • 之后,再次尝试从VisualStudio构建项目


    (注意:我为Dotfuscator团队工作,并作为我工作的一部分回答。)

    添加此项会导致以下错误:
    错误:ILT0040:Type“System.Runtime.Serialization.InvalidDataContract”未找到。检查生成系统是否引用了Windows.winmd,Windows应用商店应用程序是否引用了.NET,以及是否配置为使用.NET本机。
    I未选中“使用.NET本机工具链编译”,现在它正在生成。谢谢不幸的是,它在启动时崩溃,错误为:
    无法激活Windows应用商店应用程序…不支持该操作。未知错误:0x80040904
    在发布版本上关闭Dotfuscator时,我没有遇到此崩溃。@cncb您可能需要从Dotfuscator的重命名混淆中排除应用程序的某些部分。具体的例外情况将因应用程序而异。一些参考资料:、和(为Dotfuscator Professional编写,但概念与社区相同)。我已经为我的Xamarin Forms dll添加了所有必要的排除项,但我不知道它的UWP exe部分需要什么(它在“激活”期间启动时崩溃)。似乎应该有一个明显的类或方法来排除UWP的重命名。我曾尝试将应用程序和程序类型从重命名中排除,但没有成功,但我不知道“激活”会涉及到什么。虽然本机编译会使应用程序的反向工程变得困难,但Dotfuscator仍会使其更加困难。