Dotfuscator with Xamarin android 在分析标记后构建失败



我正在尝试将Dotfuscator Community Edition与Visual Studio 2017一起使用来构建Xamarin for Android应用程序。 Visual Studio输出给了我错误:

1>C:xpXamarinFormsXamarinFormsXamarinForms.AndroidPreEmptive.Dotfuscator.Xamarin.targets(347,5): error MSB3073: The command ""C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEExtensionsPreEmptiveSolutionsDotfuscatorCEdotfuscatorCLI.exe" /p:InDir="objReleaseDotfuscatorXamarindfin",OutDir="objReleaseDotfuscatorXamarindfout",ReportDir="DotfuscatorReportsRelease" "DotfuscatorConfig.xml"" exited with code 1.

当我使用 cmd.exe 运行该命令时,我有以下输出:

[Build Output] Resolving method references...
[Build Output] Analyzing Markup...
[Build Output] Value cannot be null.
Parameter name: key
[Build Output] Build Error.

我已经在Dotfuscator GUI应用程序中打开了DotfuscatorConfig.xml并尝试更改一些选项。 在重命名->选项->启用重命名中禁用重命名后,构建成功了,但它使不重命名的混淆毫无意义。

你能帮我找到,究竟是什么导致了这个问题以及如何解决它吗?

(免责声明:我在Dotfuscator团队的PreEmptive Solutions工作,并以这种身份回答这个问题。

更新(2018-03-15):此问题的修复程序已在Dotfuscator Community Edition 5.34.0中发布(更新日志,请注意"标记分析"修复)。您可以随时在此处下载Visual Studio 2017的最新版本。

前面的答案写在本版本之前,如下。


这似乎是最近在Dotfuscator Professional Edition 4.33.0(更新日志)中修复的标记分析错误。虽然此修复程序当前未在社区版 5.32.1(Visual Studio 2017 15.5 附带的版本)中发布,但作为现在的解决方法,您可以禁用标记分析。这比完全关闭重命名要好。

要禁用标记分析,请将名为disable_markup_analysis和值true的项目属性添加到 Dotfuscator 配置文件中。您可以使用社区版 GUI 执行此操作,或者,如果您愿意,可以直接编辑配置文件:

  1. 在文本编辑器中打开DotfuscatorConfig.xml文件。
  2. 在根<dotfuscator>部分中,添加子<propertylist>标记及其结束</propertylist>标记(如果它们尚不存在)。
  3. 在"<propertylist>"部分中,添加标记<property name="disable_markup_analysis" value="true" />

相关内容

  • 没有找到相关文章

最新更新